UIImageView 双指缩放和拖动 swift
UIImageView Pinch Zoom and Drag swift
我正在使用下面的代码来缩放图像,但我的 imageView 缩放比例超过了 4,然后我尝试拖动它缩小到 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
}
您可以通过实施 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
之间。如果没有,请根据允许的限制更新它。
我正在使用下面的代码来缩放图像,但我的 imageView 缩放比例超过了 4,然后我尝试拖动它缩小到 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
}
您可以通过实施 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
之间。如果没有,请根据允许的限制更新它。