我尝试使用 UIPinchGesture 来缩放我通过 bezierPath 绘制的简单面孔,但是当我用两根手指捏住屏幕(使其变大或变小)时,它不会显示结果,只有当我旋转时设备,然后显示缩放的脸,非常感谢您对如何修复它的建议:
下面是我用来实现 pinchGesture 的代码 在我的 faceView.swift 中:
func scale(gesture: UIPinchGestureRecognizer){
if gesture.state == .Changed {
scale *= gesture.scale
gesture.scale = 1
}
}
在我的 ViewController.swift 中:
@IBOutlet weak var faceView: FaceView! {
didSet{
faceView.dataSource = self
faceView.addGestureRecognizer(UIPinchGestureRecognizer(target:faceView,
action:"scale:"))
}
}
最佳答案
问题不应该出现在您粘贴的代码中,因为您知道您的缩放确实有效,只是不会立即绘制它。我相信您应该使用 { didSet { setNeedsDisplay() } }
声明 FaceView 的缩放属性,以便在每次缩放比例发生变化时更新 UI。
目前,只有当您旋转设备时,UI 才会更新。
关于ios - UIP 英寸手势 ?为什么只有在旋转设备后才显示缩放结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29138104/