我试图画一个圆圈,所以我有以下方法:
- (void)drawRect:(CGRect)rect {
CGRect leadingCircle = CGRectInset(rect, 2, 2);;
UIBezierPath *aPath = [UIBezierPath bezierPathWithOvalInRect:leadingCircle];
CGContextRef aRef = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(aRef, 20, 20);
CGContextSetRGBFillColor(aRef, 0.1, 0.05, 0.9, 1);
CGContextSetRGBStrokeColor(aRef, 0, 0, 0, 1);
CGContextRestoreGState(aRef);
}
然后我从viewDidLoad中调用它:
CGRect myRect = CGRectMake(0, 0, 60, 60);
[self drawRect:myRect];
但未绘制任何内容,并在控制台中显示以下消息:
CGContextSetRGBFillColor:无效的上下文0x0。这是一个严重的错误。该应用程序或其使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体降低。此通知是礼貌的:请解决此问题。在即将到来的更新中,它将成为一个致命的错误。
提前致谢。
答案 0 :(得分:-1)
用这个改变你的代码。
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 4.0);
CGContextSetStrokeColorWithColor(context,
[UIColor blueColor].CGColor);
CGRect rectangle = CGRectMake(60,170,200,80);
CGContextAddEllipseInRect(context, rectangle);
CGContextStrokePath(context);
}