RotationRecognizer不起作用

时间:2016-12-23 15:47:24

标签: ios swift

由于某种原因,这不起作用,我已经尝试了一切。 它在UIView里面,我看到了视图但是当我移动手指时它不会打印。

override init (frame : CGRect) {
    super.init(frame : frame)
    self.isUserInteractionEnabled=true
    let rr:UIRotationGestureRecognizer = UIRotationGestureRecognizer(target: self, action: #selector(self.rotation))
     self.addGestureRecognizer(rr)
}
func rotation(obj:UIRotationGestureRecognizer) {
    print("*")
    print(obj.rotation)
}

添加委托并不能解决这个问题。

1 个答案:

答案 0 :(得分:1)

当我尝试“滚动自己的”代码时,我遇到了一些问题,因为识别器在夹点和旋转之间存在混淆。 (你正在使用两根手指,对吧?我问,因为你的问题表明你只用一根手指。)

这是我的轮换代码:

func rotateView(_ recognizer:UIRotationGestureRecognizer) {
    let p = recognizer.location(in: self)
    myView.anchorPoint = CGPoint(x: 0.5, y: 0.5)
    myView.transform = CATransform3DRotate(myView.transform, recognizer.rotation, 0.0, 0.0, 1.0);
}

我还有其他代码来识别点击并将此视图置于“编辑模式”,使用捏合来调整视图大小等。一个非常好的资源(唉,使用Swift 1代码)是Ray Wenderlich's Ray Wenderlich关于手势的教程。再次,它有点过时,但非常有帮助。