我尝试了太多等式来获得正确的答案,可能是代码有问题或者我对该想法的理解。然而,这里是我的代码:制作UIImageView(图像的箭头)指向我在屏幕上触摸的位置
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
if let touch = touches.first {
let coord = touch.location(in:view)
self.linegu.transform = CGAffineTransform.init(rotationAngle: atan((coord.y - (self.view.center.y + (self.view.center.y)/2.5))/(coord.x - self.view.center.x)))
}
}
linegu
是我使用的UIImageView
我在取景当中使用此代码它定位:
let Ypos = (self.view.center.y/2.5);
self.linegu.center = self.view.center
self.linegu.center.y = (self.view.center.y + Ypos)
图片上是不可见的,但我想你错了90度。尝试从结果中加入或减去90度。请提供点击照片的地方。 – Sergey
也许,你需要提供一个项目。 我用你的代码创建了一个演示项目。 它的工作。 https://github.com/sunbohong/Demo-Collection/commit/3ed6f593a1fa3dde5e489165821033ed6e02631f#diff-86182cc774e7f14dc3e6cf106edaa8f1 –
我会尽量减去也许我可以把它弄清楚。 –