ios - scrolling - swift3 scrollview tutorial
ScrollView no se desplaza rĂ¡pidamente (2)
Tengo un UIView y agrego un UIScrollView a él. Dentro de scrollView se encuentra UIImageView.
Quiero ampliar la vista de la imagen presionando un botón. Si la vista de la imagen está ampliada, debería poder desplazarse, pero eso no funciona.
Actualmente tengo eso:
self.imageView = UIImageView()
self.imageView.image = image
self.imageView.frame = self.contentView.bounds
self.scrollView = UIScrollView()
self.scrollView.frame = self.contentView.bounds
self.scrollView.contentSize = self.contentView.bounds.size
self.scrollView.addSubview(self.imageView)
self.contentView.addSubview(self.scrollView)
y eso:
@IBAction func zoomPicture() {
if (scale <= 1.5) {
scale = scale + 0.1
scrollView.transform = CGAffineTransformMakeScale(scale, scale)
scrollView.zoomScale = scale
scrollView.maximumZoomScale = 1.5
scrollView.minimumZoomScale = 1.0
scrollView.contentSize = contentView.bounds.size
scrollView.scrollEnabled = true
}
}
mi clase también implementa UIScrollViewDelegate
y configuro el delegado en la función viewDidLoad (). También he agregado la función viewForZoomingInScrollView
. El zoom funciona pero no puedo desplazarme.
Para este problema, debe establecer self.scrollView.contentSize
mayor que self.contentView.bounds
para que obtenga el espacio adecuado para desplazarse.
reemplace esta línea
self.scrollView.contentSize = self.contentView.bounds.size
a esto:
self.scrollView.contentSize = self.contentView.bounds.size*2 //or what ever size you want to set
Prueba esto:
@IBAction func zoomPicture() {
if (scale <= 1.5) {
scale = scale + 0.1
scrollView.zoomScale = scale
scrollView.maximumZoomScale = 1.5
scrollView.minimumZoomScale = 1.0
let size = contentView.bounds.size
scrollView.contentSize = CGSize(width: size.width * scale, height: size.height * scale)
scrollView.scrollEnabled = true
}
}