ios - UIP 英寸手势 ?为什么只有在旋转设备后才显示缩放结果

标签 ios objective-c swift uiview gesture

我尝试使用 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/

相关文章:

json - 在 Swift 3 中使用 Alamofire 的 CoreData

ios - 从 UIView 导航到 UIViewController

ios - 有什么方法可以定期在后台模式(iOS)中发送 HTTP 请求?

ios - 当我运行 for-in 循环时 CPU 使用率飙升 : OS-x app

iphone - 在 Xcode 中将图像加载到 UIWebView

ios - 滚动背景图像切成两半 - cocos2d

ios - 如何在arkit的scnview中添加自定义UIView?

ios - 调整文本大小以适应 UITextView

ios - 在 iOS 应用程序中获取所有选定的辅助功能选项

快速委派