如何在整个视图中使用UIPinchGestureRecognizer来缩放整个屏幕?Swift 3,IOS

Mon*_*yJR 3 view zoom ios uipinchgesturerecognizer swift3

我似乎无法将我的动作(捏合手势)连接到我的视图,而是连接到viewcontroller.这是我在视图控制器中编码以测试代码的所有内容:

import UIKit

class AlertController: UIAlertController {

@IBAction func scaleImage(sender: UIPinchGestureRecognizer) {
    self.view.transform = CGAffineTransformScale(self.view.transform, sender.scale, sender.scale)
    sender.scale = 1
}
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    view.backgroundColor = UIColor.blackColor()
}

override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning()
}

}
Run Code Online (Sandbox Code Playgroud)

我想要做的就是放大我在我的应用程序中填写的表格(文本框 - 按钮和标签,复选框 - 按钮和标签,背景图像 - 图像视图).我希望能够一次放大所有内容.我悲惨地失败了.请帮忙!:)

小智 7

首先做识别器:

let pinchGestureRecognizer = UIPinchGestureRecognizer(target: self, action: #selector(pinchHandler))
Run Code Online (Sandbox Code Playgroud)

然后创建处理函数:

func pinchHandler(recognizer : UIPinchGestureRecognizer) {

    print ("PINCHING NOW")

    if let view = self.view {
        view.transform = view.transform.scaledBy(x: recognizer.scale, y: recognizer.scale)
        recognizer.scale = 1
    }
}
Run Code Online (Sandbox Code Playgroud)

在viewDidLoad里面添加识别器:

pinchGestureRecognizer.addTarget(self, action: #selector(pinchHandler))
view.addGestureRecognizer(pinchGestureRecognizer)
Run Code Online (Sandbox Code Playgroud)