如何为不是CGRect的UIImageView创建边界框?
我想在我的视图中有对象应该显示图像以及检测碰撞。
问题是我希望这些对象可以是它们的任何形状,而不是将它们装入CGRect并检测盒子内部区域的碰撞,但是它们是实际图像。
如何实现这一目标?
答案 0 :(得分:1)
这是一个非常重要的问题。但基础知识是CGRect是一个矩形,矩形内部的命中测试相当容易理解。但是,听起来你想要一个更复杂的形状。 UIImageView显示图像。它不知道您想要用于碰撞测试的形状。所以你必须告诉它。
一件容易的事就是查看显示图像的alpha /透明值以创建形状。所以回答这个问题的是一个点击图像我们找出图像中点的位置,如果alpha大于0则返回true。如果你这样做,你可以创建任何具有透明背景的图像,代码将只是工作
如果这对您不起作用,那么也可以对点和多边形运行命中测试,这篇文章详细介绍了这一点。