Mis subvistas tienen una disposición diferente en orientación vertical y horizontal. El diseño se basa en el marco de la supervista, y no es trivial (no se puede lograr utilizando resortes de ajuste y puntales).Obtención del marco correcto en el interior willRotateToInterfaceOrientation
El problema es que si estoy cambiando el marco de las subViews durante willRotateToInterfaceOrientation, la animación es correcta, pero el marco es el superView sigue siendo el marco de la orientación anterior.
Si estoy cambiando las subViews durante didRotateFromInterfaceOrientation, el marco es el superView es de hecho el correcto, pero el cambio de marco solo ocurre después de la animación giratoria y no se ve bien.
¿Cuál es la forma correcta de cambiar los marcos de las subViews al cambiar de orientación?
Resolví este problema escribiendo un método en cada subvista que manejará la pieza de cambio de fotograma. Estableceré el marco de la vista principal en willRotateToInterfaceOrientation y luego generaré un nuevo cuadro similar usando la función CGFrameMake y lo pasaré a cada subView. Me funcionó ... comprueba si es útil. – Mohammad
No entendí bien tu respuesta. En willRotateToInterface todavía no conozco el marco de la supervista porque la rotación aún no ha sucedido. Este es el problema. – adamsiton
No uso el marco de superView para rotar subvistas. Calculo lo que sería valioso para el marco de superView después de la rotación y luego realizo un nuevo CGRect basado en el cálculo y luego lo transfiero al método handleOrientation de cada subView. Si no puede calcular lo que sería valioso para el marco de superView después de la rotación, lo anterior no le servirá. – Mohammad