Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS 7上疯狂的圆形矩形路径行为。怎么回事?_Ios_Objective C_Drawing_Cgcontext_Uibezierpath - Fatal编程技术网

iOS 7上疯狂的圆形矩形路径行为。怎么回事?

iOS 7上疯狂的圆形矩形路径行为。怎么回事?,ios,objective-c,drawing,cgcontext,uibezierpath,Ios,Objective C,Drawing,Cgcontext,Uibezierpath,下面的简单UIView绘制了一个圆角矩形。当我通过一个半径为65或更低的拐角时,它会正确地旋转,但大于等于66时,它会生成一个完美的圆!这是怎么回事?当角半径等于帧宽度的1/2时,它应该只显示一个圆,但当半径约为1/3时,无论视图的大小如何,它似乎都在绘制一个圆此行为出现在iOS 7上。在iOS 6上,我得到了预期的行为。 #import "ViewController.h" @interface MyView : UIView @end @implementation MyView -(vo

下面的简单UIView绘制了一个圆角矩形。当我通过一个半径为65或更低的拐角时,它会正确地旋转,但大于等于66时,它会生成一个完美的圆!这是怎么回事?当角半径等于帧宽度的1/2时,它应该只显示一个圆,但当半径约为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


存档rdar://17801182Good 接住。请随时更新此帖子。此错误在iOS 8上仍然存在。iOS 9Oh上仍然存在。下面是一个解决方案: