iOS Zoom avant / arrière UIImageView


Exemple

Créer une instance UIScrollView

let scrollview = UIScrollView.init(frame: self.view.bounds)

Et puis définissez ces propriétés:

scrollView.minimumZoomScale = 0.1
scrollView.maximumZoomScale = 4.0
scrollView.zoomScale = 1.0
scrollview.delegate = self as? UIScrollViewDelegate 

Pour effectuer un zoom avant ou arrière sur l'image, vous devez spécifier la quantité de zoom avant et arrière que l'utilisateur peut utiliser. Nous faisons cela en définissant les valeurs des propriétés minimumZoomScale et maximumZoomScale de la vue de minimumZoomScale . Les deux sont définis sur 1.0 par défaut.

Et zoomScale à 1.0 qui spécifie le facteur de zoom pour le zoom minimum et maximum.

Pour prendre en charge le zoom, vous devez définir un délégué pour votre vue défilement. L'objet délégué doit être conforme au protocole UIScrollViewDelegate . Cette classe de délégué doit implémenter la méthode viewForZoomingInScrollView() et renvoyer la vue pour zoomer.

Modifiez votre ViewController comme indiqué

class ViewController: UIViewController, UIScrollViewDelegate

Ajoutez ensuite la fonction de délégué suivante à la classe.

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

Maintenant, créez une instance UIImageView

Faire de cette variable une variable de classe

var imageView:UIImageView = UIImageView.init(image: UIImage.init(named: "someImage.jpg"))

Et puis l'ajouter à scrollview

scrollView?.addSubview(imageView)

Référence