Sobes.tech
Junior — Middle

Usaste o componente ScrollView para implementar o Zoom nos teus projetos?

sobes.tech IA

Resposta da IA

No iOS, para implementar o zoom, geralmente usa-se UIScrollView, pois suporta o escalonamento do conteúdo através de gestos de pinça.

ScrollView por si só não implementa o zoom, mas se dentro dele colocar um UIView ou UIImageView e configurar o delegado UIScrollView, é possível obter o efeito de zoom.

Exemplo simples de uso do UIScrollView para zoom:

class ViewController: UIViewController, UIScrollViewDelegate {
    let scrollView = UIScrollView()
    let imageView = UIImageView(image: UIImage(named: "example"))

    override func viewDidLoad() {
        super.viewDidLoad()
        scrollView.frame = view.bounds
        scrollView.delegate = self
        scrollView.minimumZoomScale = 1.0
        scrollView.maximumZoomScale = 4.0

        imageView.frame = scrollView.bounds
        imageView.contentMode = .scaleAspectFit

        scrollView.addSubview(imageView)
        view.addSubview(scrollView)
    }

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

Assim, o ScrollView é a forma padrão de implementar o zoom em aplicações iOS.