【问题标题】:How to erase something drawn with NSBezierPath?如何擦除用 NSBezierPath 绘制的东西?
【发布时间】:2012-01-26 08:42:30
【问题描述】:

我刚刚使用 NSBezierPath 创建了一条路径,并使用 [路径填充] 将其绘制到视图上。我的问题是如何删除我绘制的内容?

一种可能的解决方案是使用背景颜色再次使用 [路径填充],但如果有背景图像而不是简单的背景颜色,这将不起作用。那么有人有什么想法吗?

【问题讨论】:

  • 第二次重绘视图,但这次不要再绘制了

标签: objective-c cocoa uibezierpath nsbezierpath


【解决方案1】:

只需从路径数组中删除路径并再次调用drawRect。顺便说一句,我知道你在哪里存储路径、可变数组或字典?

【讨论】:

    【解决方案2】:

    设置CALayer路径时会显示你创建的路径

    view.layer.path = path.CGPath;
    

    清除路径

    view.layer.path = nil;
    

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多