Tengo una imagen dentro de UIImageView que está dentro de UIScrollView. Lo que quiero hacer es rotar esta imagen 90 grados para que esté en el paisaje por defecto, y establecer el zoom inicial de la imagen para que toda la imagen encaje en la vista de desplazamiento y luego permitir que se amplíe hasta el 100% y volver hasta el zoom mínimo de nuevo.¿Cómo giro UIImageView 90 grados dentro de UIScrollView con el tamaño de imagen correcto y el desplazamiento?
Esto es lo que tengo hasta ahora:
self.imageView.transform = CGAffineTransformMakeRotation(-M_PI/2);
float minimumScale = scrollView.frame.size.width/self.imageView.frame.size.width;
scrollView.minimumZoomScale = minimumScale;
scrollView.zoomScale = minimumScale;
scrollView.contentSize = CGSizeMake(self.imageView.frame.size.height,self.imageView.frame.size.width);
El problema es que si fijo la transformación, no aparece nada en el ScrollView. Sin embargo, si comento la transformación, todo funciona, ¡excepto que la imagen no está en la orientación horizontal que quiero que sea!
Si aplico la transformación y elimino el código que establece las propiedades minimumZoomScale y zoomScale, entonces la imagen aparece en la orientación correcta, sin embargo con el zoomScale incorrecto y parece que la propiedad contentSize tampoco está configurada correctamente, ya que el cursor no se desplaza hacia el borde de la imagen en la dirección izquierda/derecha, pero sí arriba y abajo, pero muy por encima del borde.
NB: la imagen se carga desde una URL
¿Hay algún motivo por el que no pueda usar un CGAffineTransformRotate? –