检测何时旋转的UIView与另一个UIView相交

时间:2019-05-20 18:06:09

标签: ios swift uiview collision

enter image description here 我有一个UIView可以在给定旋转角度时旋转。我尝试使用该框架和另一个视图作为hitTest-但如您所见,这不起作用。

我相信在旋转之后,将针对旋转后的视图重新计算hitTesting的框架-产生与UI中表示的框架不同的框架(即使我在该视图的框架周围有边框,实际框架不同)。

user.transform = CGAffineTransform(rotationAngle: CGFloat(user.userData.heading))
self.hitTestView.transform = CGAffineTransform(rotationAngle: CGFloat(user.userData.heading))

//hitTestView is the "cone" uiview with an image in it representing a cone.
//myTestZone is the purple box.
if self.hitTestView.frame.intersects(self.myTestZone.frame) {
    self.hitTestView.showRed(bValue: true)
} else {
    self.hitTestView.showRed(bValue: false)
}

现在,我知道我不应该在这里使用带有框架的hitTest-我在寻找附近的东西-我应该使用数学确定“圆锥”是否与紫色框相交。但是,我不确定如何最好地做到这一点。

我正在寻找数学上的帮助,以计算圆锥(饼图切片)是否与另一视图(平稳)的任何部分重叠。希望也能找到一些可行的代码。

0 个答案:

没有答案