UIImageView Pinch Zoom и Drag Swift - PullRequest
       18

UIImageView Pinch Zoom и Drag Swift

0 голосов
/ 03 июля 2019

Я использую приведенный ниже код для увеличения изображения, но мой imageView увеличивается в масштабе выше 4-х масштабного коэффициента, а затем я пытаюсь перетащить imageView в увеличенном масштабе до 4-х масштабного коэффициента.

Как остановить масштабированиевыше 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
}

1 Ответ

0 голосов
/ 03 июля 2019

Вы можете добиться этого, реализовав метод 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's zoomScale в пределах maximumZoomScale и minimumZoomScale. Если это не так, обновите его в соответствии с допустимыми пределами.

...