我想看看一个圆是否接触到下图的不透明部分,而不仅仅是边界框(这是一个矩形):
有没有简单的方法可以做到这一点?
最佳答案
你可以画一个 UIBezierPath在你的 View 上并用图案图像填充它,即你的草。
获得贝塞尔曲线路径后,使用 - (BOOL)containsPoint:(CGPoint)point
方法确定您的点是进还是出。
在一个项目中,我需要绘制多个形状,一些是基本的,另一些是复杂的。为了帮助我,我制作了一个显示图像的 mac 程序,在该图像中,我可以通过单击某些点来细化任何复杂的形状。 形状关闭后,程序会将绝对坐标转换为基于 View 大小的坐标,并将它们导出为包含 CGPoint 数组的 Plist 文件。
在 iOS 应用程序中,我只需导入数组并使用点数组来创建我的 UIBezierPath。 如果您需要的不仅仅是线条,那么您可能想要在 plist 中添加除 CGPoint 之外的其他内容,但我想您明白了。
关于ios - 快速检测不透明空间的两个节点之间接触的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26618008/