首页 > 解决方案 > 无法在 UIScrollView 中缩放 UIImageView

问题描述

我想放大UIImageViewScrollView但我不知道怎么做。

import UIKit

class ViewController: UIViewController, UIScrollViewDelegate {

    var scrollView: UIScrollView = UIScrollView()
    var viewInScrollView: UIView = UIView()
    var selectedImageView: UIImageView = UIImageView()


    override func viewDidLoad() {
        super.viewDidLoad()

        scrollView.delegate = self

        view.addSubview(scrollView)
        scrollView.addSubview(viewInScrollView)
        viewInScrollView.addSubview(selectedImageView)
        selectedImageView.image = UIImage(named: "michael")

        scrollView.translatesAutoresizingMaskIntoConstraints = false
        viewInScrollView.translatesAutoresizingMaskIntoConstraints = false
        selectedImageView.translatesAutoresizingMaskIntoConstraints = false

        scrollView.anchor(top: view.safeAreaLayoutGuide.topAnchor, leading: view.leadingAnchor, bottom: view.bottomAnchor, trailing: view.trailingAnchor)
        viewInScrollView.anchor(top: view.safeAreaLayoutGuide.topAnchor, leading: view.leadingAnchor, bottom: view.bottomAnchor, trailing: view.trailingAnchor)
        viewInScrollView.widthAnchor.constraint(equalToConstant: view.frame.width).isActive = true
        viewInScrollView.heightAnchor.constraint(equalToConstant: view.frame.height).isActive = true

        selectedImageView.anchor(top: viewInScrollView.topAnchor, leading: viewInScrollView.leadingAnchor, bottom: viewInScrollView.bottomAnchor, trailing: viewInScrollView.trailingAnchor)

    }

    func viewForZooming(in scrollView: UIScrollView) -> UIView? {
        return selectedImageView
    }

}

标签: iosswiftuiscrollviewzooming

解决方案


您必须将maximumZoomScale,添加minimumZoomScale到您scrollView喜欢的以下内容中。

scrollView.minimumZoomScale = 0.25
scrollView.maximumZoomScale = 5.0

希望这有帮助!


推荐阅读