I want to zoom UIImageView
in ScrollView
but I do not know how to do this.
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
}
}
You have to add maximumZoomScale
, minimumZoomScale
to your scrollView
like following.
scrollView.minimumZoomScale = 0.25
scrollView.maximumZoomScale = 5.0
Hope this help!.