UIScrollView无法进行缩放 (Swift)

4

我在尝试让我的UIScrollView进行缩放,但是遇到了困难。以下是我的代码:

class ViewController: UIViewController, UIScrollViewDelegate {

    let imageView = UIImageView()

    @IBOutlet weak var scrollView: UIScrollView!
    override func viewDidLoad() {
        super.viewDidLoad()

        let image = UIImage(named: "cats.jpg")
        imageView.image = image
        imageView.frame = CGRect(origin: CGPointZero, size: image!.size)
        scrollView.addSubview(imageView)
        scrollView.contentSize = image!.size
        scrollView.clipsToBounds = false
        scrollView.layer.borderColor = UIColor.yellowColor().CGColor
        scrollView.layer.borderWidth = 4.0

        let scrollViewFrame = scrollView.frame
        let scaleWidth = scrollViewFrame.size.width / scrollView.contentSize.width
        let scaleHeight = scrollViewFrame.size.height / scrollView.contentSize.height
        let minScale = min(scaleWidth, scaleHeight);
        scrollView.minimumZoomScale = minScale;

        scrollView.maximumZoomScale = 1.0
        scrollView.zoomScale = minScale;
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


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

}

我在这里做错了什么?我已经尝试过调整最小和最大比例,但是没有任何改变。如果您有任何指针,请不吝赐教。谢谢!


这似乎是我正在经历的相同问题。您是如何在Storyboard中将ScrollView连接到ImageView的? - Joel Wahlund
1个回答

9

将以下代码添加到viewDidLoad中:

scrollView.delegate = self

滚动视图需要一个代理(即您的视图控制器)来获取缩放的视图(您实现的代理方法)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接