【问题标题】:UIImageView Pinch Zoom and Drag swiftUIImageView 捏缩放和拖动 swift
【发布时间】:2019-11-13 23:51:21
【问题描述】:

我正在使用下面的代码来缩放图像,但是我的 imageView 被放大到 4 个比例因子以上,然后我尝试将它缩小到 4 个比例因子的 imageView 拖动。

如何阻止它放大到 4 scaleFactor 或当我们拖动时如何阻止它缩小?

class ZoomViewController: UIViewController,UIScrollViewDelegate {

@IBOutlet weak var scrollView:UIScrollView!
@IBOutlet weak var imageView:UIImageView!

override func viewDidLoad() {

        super.viewDidLoad()
        scrollView.delegate = self

        scrollView.minimumZoomScale = 1.0
        scrollView.maximumZoomScale = 4.0
}

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

【问题讨论】:

    标签: ios swift uiscrollview uiimageview


    【解决方案1】:

    您可以通过实现 UIScrollViewDelegate's scrollViewDidZoom(_:) 方法来实现它,即

    func scrollViewDidZoom(_ scrollView: UIScrollView) {
        if scrollView.zoomScale > scrollView.maximumZoomScale {
            scrollView.zoomScale = scrollView.maximumZoomScale
        } else if scrollView.zoomScale < scrollView.minimumZoomScale {
            scrollView.zoomScale = scrollView.minimumZoomScale
        }
    }
    

    在上面的代码中,检查scrollView'szoomScale是否在maximumZoomScaleminimumZoomScale之间。如果没有,请根据允许的限制进行更新。

    【讨论】:

    • 太棒了。如果有效,请接受(在左侧打勾)。快乐编码?
    猜你喜欢
    • 2015-07-12
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    相关资源
    最近更新 更多