【问题标题】:I am not able to delete single dot drawn from UIBezierpath Path我无法删除从 UIBezierpath Path 绘制的单个点
【发布时间】:2016-07-20 05:17:46
【问题描述】:

我正在使用 UIBezierpath 在我的 UIView 上绘制一个点。 我也跟着这个链接。

How can i draw a dot on the screen on touchesEnded using UIBezierpath

现在,当我完成此操作后,我可以尽可能多地添加“点”。并将这些点添加到数组中并在 UIView 上显示。

如果我在选择橡皮擦时清理阵列,那么所有点都会被清除。我无法清除单个/特定点。

这是用于将点添加到数组并在 UIView 上显示的方法。

- (void)drawRect:(CGRect)rect
{
    [incrementalImage drawInRect:rect];
         for (int i = 0; arrayOfDots.count>i;i++)
         {
             UIBezierPath *path = [arrayOfDots objectAtIndex:i];
             UIColor *color = [arrayOfDotColor objectAtIndex:i];
             [color setFill];
             [path fill];
         }
}

我有橡皮擦来清理 UIView 上绘制的东西。 我能够清理使用 UIBezierpath 绘制的线条,但我无法清除使用相同 UIBezierpath 绘制的点。

橡皮擦什么都不是,我只是选择白色并在当前视图上绘制相同的白色。

这是橡皮擦的代码。

self.strockColour = [UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:1.0f];

[objBezierpath setLineWidth:25];

任何人都可以指导我如何删除特定的选定点。

提前致谢。

【问题讨论】:

    标签: ios objective-c xcode uibezierpath


    【解决方案1】:

    如果我正确理解了您的代码片段,您正在为数组中的每个点实例化一个新的 UIBezierPath 对象。

    因此,如果您希望擦除给定的点,则需要点数组是可变的,并且需要从数组中删除实际的路径对象。

    我建议您创建一个 UIBezierPath 对象并拥有一个仅存储 CGPoints 的数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-16
      • 1970-01-01
      相关资源
      最近更新 更多