我正在使用 Xcode 6.4 并快速编写。

现在我正在尝试以纵横比显示一个简单的图像,然后能够放大。不幸的是,图像加载完全缩放。其他一切都很好,双击甚至可以看到图像方面的匹配。我怎样才能更改我的代码,以便图像加载的方面适合?

我的情况非常类似于

UIImage Is Not Fitting In UIScrollView At Start

但是,objective-c 答案不再有效。

这是我的 viewDidLoad 代码

override func viewDidLoad() {
    super.viewDidLoad()

    imageView = UIImageView(image: UIImage(named: "image.png"))

    scrollView = UIScrollView(frame: view.bounds)
    scrollView.backgroundColor = UIColor.blackColor()
    scrollView.contentSize = imageView.bounds.size
    scrollView.autoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight
    scrollView.contentOffset = CGPoint(x: 1000, y: 450)

    scrollView.addSubview(imageView)
    view.addSubview(scrollView)

    scrollView.delegate = self

    setZoomScale()
    setupGestureRecognizer()
}

这是我的 setZoomScale() 代码
    func setZoomScale() {
    let imageViewSize = imageView.bounds.size
    let scrollViewSize = scrollView.bounds.size
    let widthScale = scrollViewSize.width / imageViewSize.width
    let heightScale = scrollViewSize.height / imageViewSize.height

    scrollView.minimumZoomScale = min(widthScale, heightScale)
    scrollView.zoomScale = 1.0
}

这一切都源于在线教程,

http://www.appcoda.com/uiscrollview-introduction/

先感谢您!

最佳答案

解决方案,在我的 setZoomScale 函数中,我将 scrollView 的缩放比例设置为“1.0”而不是最小值

这是更正的代码,希望这对某人有所帮助!

func setZoomScale() {
    let imageViewSize = imageView.bounds.size
    let scrollViewSize = scrollView.bounds.size
    let widthScale = scrollViewSize.width / imageViewSize.width
    let heightScale = scrollViewSize.height / imageViewSize.height

    let minZoomScale = min(widthScale, heightScale)
    scrollView.minimumZoomScale = minZoomScale
    scrollView.zoomScale = minZoomScale
}

关于ios - UIScrollView 中的 UIImage 加载缩放,而不是宽高比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31976220/

10-12 22:01
查看更多