我无法删除从 UIBezierpath Path 绘制的单个点
Posted
技术标签:
【中文标题】我无法删除从 UIBezierpath Path 绘制的单个点【英文标题】:I am not able to delete single dot drawn from 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];
任何人都可以指导我如何删除特定的选定点。
提前致谢。
【问题讨论】:
【参考方案1】:如果我正确理解了您的代码片段,您正在为数组中的每个点实例化一个新的 UIBezierPath 对象。
因此,如果您希望擦除给定的点,则需要点数组是可变的,并且需要从数组中删除实际的路径对象。
我建议您创建一个 UIBezierPath 对象并拥有一个仅存储 CGPoints 的数组。
【讨论】:
以上是关于我无法删除从 UIBezierpath Path 绘制的单个点的主要内容,如果未能解决你的问题,请参考以下文章