我使用以下方式旋转视图:
override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
for touch in touches{
rotatableView.transform = CGAffineTransformMakeRotation(degreesToRadian(i++))
}
}
无论如何,我可以用移动的触摸速度校准这个旋转吗?
答案 0 :(得分:0)
据我了解,你希望你的UIImageView旋转速度和你的手指一样快,换句话说,你的意思是,"我的手指移动的速度,旋转的速度是多快"
从这个意义上说,这是代码override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
let t = touches.anyObject() as UITouch
let position = t.locationInView(self.view)
let target = rotatableView.center
let angle = atan2(target.y-position.y , target.x-position.x)
rotatableView.transform = CGAffineTransformMakeRotation(angle)
}
atan2是一个数学函数,您可以阅读更多相关信息here