如何擦除用 NSBezierPath 绘制的东西?
Posted
技术标签:
【中文标题】如何擦除用 NSBezierPath 绘制的东西?【英文标题】:How to erase something drawn with NSBezierPath? 【发布时间】:2012-01-26 08:42:30 【问题描述】:我刚刚使用 NSBezierPath 创建了一条路径,并使用 [路径填充] 将其绘制到视图上。我的问题是如何删除我绘制的内容?
一种可能的解决方案是使用背景颜色再次使用 [路径填充],但如果有背景图像而不是简单的背景颜色,这将不起作用。那么有人有什么想法吗?
【问题讨论】:
第二次重绘视图,但这次不要再绘制了 【参考方案1】:只需从路径数组中删除路径并再次调用drawRect。顺便说一句,我知道你在哪里存储路径、可变数组或字典?
【讨论】:
【参考方案2】:设置CALayer路径时会显示你创建的路径
view.layer.path = path.CGPath;
清除路径
view.layer.path = nil;
【讨论】:
以上是关于如何擦除用 NSBezierPath 绘制的东西?的主要内容,如果未能解决你的问题,请参考以下文章
NSBezierPath 的 strokeRect: 是不是总是绘制透明矩形? (可可 OSX)