我尝试使用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:"))
}
}
答案 0 :(得分:1)
问题不应该在你粘贴的代码中,因为你知道你的缩放确实有效,它不会立即绘制它。我相信你应该使用{ didSet { setNeedsDisplay() } }
声明FaceView的scale属性,以便在每次更改比例时更新UI。
此时,只有在您旋转设备时才会更新用户界面。