在iOS 7上疯狂的圆angular矩形UIBezierPath行为。什么是交易?

下面的简单的UIView绘制一个圆angular的矩形。 当我通过一个65或以下的angular半径,它正确的轮,但66和以上,它会产生一个完美的圆圈! 这里发生了什么? 当边angular半径等于边框宽度的1/2时,应该只显示一个圆,但不pipe视图的大小是多less,当半径大约是1/3时,似乎都会画一个圆。 这种行为出现在iOS 7上。在iOS 6上,我得到了预期的行为。

#import "ViewController.h" @interface MyView : UIView @end @implementation MyView -(void)drawRect:(CGRect)rect { UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, 200, 200) cornerRadius:65]; CGContextRef c = UIGraphicsGetCurrentContext(); CGContextAddPath(c, path.CGPath); [[UIColor redColor] set]; CGContextStrokePath(c); } @end @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; MyView *v = [[MyView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; [self.view addSubview:v]; } @end 

在这里输入图像说明在这里输入图像说明

在这里输入图像说明