
94
|
第
3
章
UIGestureRecognizerState.Changed
当用户旋转过程中所旋转的角度发生任何变化时,手势识别器处于此状态。
UIGestureRecognizerState.Ended
当手指离开屏幕,旋转手势终止时,手势识别器处于此状态。
UIGestureRecognizerState.Cancelled
当手势由于系统事件,例如来电或者有一个
Alert
对话框弹出而中断时,手势
识别器处于此状态。取消状态也可能被其他手势识别器所中断。例如,当用户
开始移动手指时,原本的长按手势可能会被平移手势识别器所取消。
UIRotationGestureRecognizer
的一个重要属性是
rotation
,这表示了从上一次的
rotation
被清零之后又旋转了多少角度,单位是弧度。
在示例代码中,一旦手势有新的值传来,
rotation
属性都会被读取,然后用于保
存到
angle
变量中。然后,手势识别器的
rotation
属性被清零。
有一个重要的地方需要注意,视图是围绕视图自身旋转的,而不是围绕两个
手指之间的中点来旋转的。
3.5
识别捏合手势
问题
如何识别用户手指在屏幕上捏合和捏放的动作?
解决方案
用
UIPinchGestureRecognizer
可以侦测用户手指向内捏合和向外捏放的动作:
class ViewController: UIViewController {
@IBOutlet weak var scalingView: UIView!
@IBOutlet weak ...