我想知道在使用CGContextAddPath添加CGPath后,是否有办法从我的上下文中删除CGPath,以便我的绘图命令不再局限于之后的路径尺寸。
答案 0 :(得分:2)
您应该使用CGContextBeginPath(...)
从指定的上下文中删除以前添加的路径。
讨论来自Apple's documentation的方法:
图形上下文在任何时候都只能使用一个路径。如果在调用此函数时指定的上下文已包含当前路径,则Quartz会丢弃旧路径以及与之关联的任何数据。
当前路径不是图形状态的一部分。因此,保存和恢复图形状态对当前路径没有影响。
类似于以下内容:
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextAddPath(context, ellipsePath);
CGContextDrawPath(context, kCGPathFill);
CGContextBeginPath(context);
CGContextAddPath(context, strokePath);
CGContextDrawPath(context, kCGPathStroke);
答案 1 :(得分:0)
在上下文中无法删除路径。只是在没有特定路径的情况下重绘。