UINavigationController vistas de tamaño automático comportamiento
-
22-09-2019 - |
Pregunta
He leído en la documentación de Apple sobre el comportamiento de cambio de tamaño de UINavigationController y no ha sido un gran problema hasta ahora.
Tengo el siguiente código para establecer mi punto de vista de UINavigationController:
navController.view.frame = CGRectMake(0, 40, 320, 420);
y esto es suficiente hasta que la vista está oscurecida por una vista modal, en cuyo punto el punto de vista cambia de tamaño para el tamaño predeterminado en algún lugar entre las llamadas de viewWillAppear
y viewDidAppear
(como se hereda UINavigationController de UIViewController).
Estoy intentando mantener una bandera visible por encima de la UINavigationController (en el espacio 40 por 320 dejó disponible) pero esta bandera está oscurecido consistentemente como se describe anteriormente.
¿Hay una manera de cambiar el tamaño de la conducta surpress UINavigationController sin la subclasificación UIViewController mismo?
Solución
En constructor de interfaces, puede desmarcar la casilla de verificación de ajuste de tamaño automático.
En el código, que es
[myNavController.view setAutoresizesSubviews: NO];
Otros consejos
Me gustaría probar
myNavController.superview.autoresizesSubviews = NO
y, obviamente, comprobar myNavController.autoresizingMask
Como último recurso, subclase su supervista y reimplementar layoutSubviews