无法在滚动视图中缩放 UIImage

Can't zoom UIImage in a Scroll View

我试图让用户在结构中缩放我的图像;

ViewController --> 滚动视图 ----->UIImage

我可以滚动我的页面,但不能放大或缩小。我想我在这里遗漏了一些东西。谢谢....

这是我的代码:

import UIKit
import Parse
import ParseUI

class ViewController: UIViewController, UIScrollViewDelegate {

    @IBOutlet weak var image: UIImageView!

    @IBOutlet weak var label: UILabel!

    @IBOutlet weak var scrollView: UIScrollView!

    var currentObject : PFObject?

    override func viewDidLoad() {
        super.viewDidLoad()

        self.scrollView.maximumZoomScale = 5.0
        self.scrollView.minimumZoomScale = 0.5
        self.scrollView.delegate = self
        self.scrollView.addSubview(image)

        func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
            return image
        }
            if let object = currentObject {

            if let imageName = object["file"] as? PFFile {
                imageName.getDataInBackgroundWithBlock({
                    (result, error) in
                    self.image.image = UIImage(data: result!)
                })
            }
            label.text = object["fileName"] as? String
        }
            }

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

只需将 viewForZoomingInScrollView 方法移出 viewDidLoad

您的代码将是:

import UIKit
import Parse
import ParseUI

class ViewController: UIViewController, UIScrollViewDelegate {

    @IBOutlet weak var image: UIImageView!

    @IBOutlet weak var label: UILabel!

    @IBOutlet weak var scrollView: UIScrollView!

    var currentObject : PFObject?

    override func viewDidLoad() {
        super.viewDidLoad()

        self.scrollView.maximumZoomScale = 5.0
        self.scrollView.minimumZoomScale = 0.5
        self.scrollView.delegate = self
        self.scrollView.addSubview(image)

        if let object = currentObject {

            if let imageName = object["file"] as? PFFile {
                imageName.getDataInBackgroundWithBlock({
                    (result, error) in
                    self.image.image = UIImage(data: result!)
                })
            }
            label.text = object["fileName"] as? String
        }
    }

    func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
        return image
    }

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

希望对您有所帮助。