我嘗試了太多等式來獲得正確的答案,可能是代碼有問題或者我對該想法的理解。然而,這裏是我的代碼:製作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 –
我會盡量減去也許我可以把它弄清楚。 –