由于某种原因,这不起作用,我已经尝试了一切。 它在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)
}
添加委托并不能解决这个问题。
答案 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关于手势的教程。再次,它有点过时,但非常有帮助。