我正在尝试用石英框架绘制和擦除线条。
但我面临一些问题。
请建议。
Q1)如果按UIButton,我已经制定了跟随方法并执行该方法。
- (void)drawCustom {
cgc_Context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(cgc_Context, 5.0);
CGContextSetStrokeColorWithColor(cgc_Context, [UIColor yellowColor].CGColor);
CGContextMoveToPoint(cgc_Context, 0, 0);
CGContextAddLineToPoint(cgc_Context, 200, 50);
CGContextStrokePath(cgc_Context);
}
但我得到的结果是:
suckjuui-iMac.local QuartzTest [5008]: CGContextSetLineWidth:无效的上下文0x0 Jul 20 20:22:50
suckjuui-iMac.local QuartzTest [5008]: CGContextSetStrokeColorWithColor:无效的上下文0x0 Jul 20 20:22:50
suckjuui-iMac.local QuartzTest [5008]:CGContextMoveToPoint: 无效的上下文0x0 Jul 20 20:22:50
suckjuui-iMac.local QuartzTest [5008]:CGContextAddLineToPoint:无效的上下文0x0 7月20日20:22:50
suckjuui-iMac.local QuartzTest [5008]: CGContextDrawPath:无效的上下文0x0
为什么消息会像上面那样出现?
Q2)如何删除绘制的线条?
答案 0 :(得分:2)
关于第二个问题。
您无法删除线条,因为根据wattson12,您的绘图需要在drawRect中进行。您只能重新绘制图形(减去要删除的内容)。
答案 1 :(得分:0)
第一个问题:
如果您没有从drawRect内部调用它,则UIGraphicsGetCurrentContext返回nil:
将此代码移动到自定义UIView子类的drawRect方法