tipo tamaño porcentaje poner plus para letra iconos dela como cambiar bateria aplicacion agrandar iphone uitabbarcontroller statusbar in-call

iphone - porcentaje - ¿Cómo afecta la barra de estado de In-Call al tamaño de vista de UIViewController?



como poner porcentaje de bateria en iphone 7 (3)

La altura de la vista cuando la barra de estado durante la llamada se alterna depende de la forma en que está anclada.

Juega un poco con la máscara automática de UIView para controlar si la vista debe moverse hacia abajo o cambiar de tamaño cuando aparezca la barra de estado durante la llamada.

Estas dos propiedades,

UIViewAutoresizingFlexibleTopMargin UIViewAutoresizingFlexibleHeight

Te ayudará. El primero empuja la vista hacia abajo, el segundo cambia el tamaño.

Estoy tratando de entender cómo reacciona la view asociada a un UITabBarController , UINavigationController o UIViewController cuando se UIViewController la barra de estado durante la llamada.
Mi problema es que parecen comportarse de manera diferente y esto me causa efectos secundarios.

Hice un proyecto que cambia el controlador de vista raíz de la ventana para los 3 tipos anteriores y vuelco la description de la view para obtener las coordenadas del marco.

  • UIViewController

estado inCall OFF :

UIView: 0x4e2a1f0; frame = (0 20; 320 460); autoresize = W+H; .... EN

UIView: 0x4e2a1f0; frame = (0 40; 320 440); autoresize = W+H; ...

Entiendo esto: cuando aparece la barra de estado durante la llamada, el ancho de la vista del UIViewController se contrae y pierde 20, y su coordenada y se mueve de 20 a 40.

Eso es perfecto ! Esperaría lo mismo cuando reemplace un UIViewController clásico con un UITabBarController o un UINavigationController pero ese no es el caso!

  • UINavigationController

Barra de estado InCall OFF

UILayoutContainerView: 0x4b35ab0; frame = (0 0; 320 480); autoresize = W+H; .. EN

UILayoutContainerView: 0x4e1b060; frame = (0 0; 320 480); autoresize = W+H; ..

En ese caso, la vista manejada por UINavigationController no tiene sus propiedades de marco cambiadas cuando la barra de estado durante la llamada está activada. (por qué ? :( )

  • UITabBarController

APAGADO

UIView: 0x4b2f6a0; frame = (0 20; 320 460); autoresize = W+H; ... EN

UIView: 0x4b2f6a0; frame = (0 20; 320 460); autoresize = W+H; ...

Igual que en UINavigationController : la view del UITabBarController no parece verse afectada cuando se cambia la barra de estado de incall.

¿Puede alguien explicarme cómo funciona este cambio de tamaño cuando aparece la barra de estado de incall?
Mi objetivo final es mostrar un UIView que se muestre ARRIBA todo el UITabBarController y que UITabBarController tamaño correctamente cuando se muestre el estado de la llamada UITabBarController . Sin embargo, realmente no sé dónde colocar una vista de este tipo en la jerarquía de vistas: si la agrego como un elemento secundario de la vista del Controlador de barra de la UIT, ya que esta no reacciona a la pantalla de estado de incall, la mía tampoco reacciona: (


Lo ideal es que olvide la cantidad de tamaño que se redimensiona la vista y juegue con la máscara Autoresizing.


Su ejemplo habitual de UIViewController tiene [ wantsFullScreenLayout ] establecido en NO, lo que hace que la vista tenga un tamaño automático para que no quede debajo de la barra de estado.

Por otro lado, UINavigationController y UITabBarController, por defecto, wantsFullScreenLayout que wantsFullScreenLayout YES. Por lo tanto, sus vistas ocupan toda la ventana, y dimensionan y posicionan sus subvistas para manejar adecuadamente la barra de estado. Si configura explícitamente la propiedad de estos controladores en NO, debe obtener el comportamiento que desea (pero luego perderá la capacidad de manejar adecuadamente los controladores secundarios que configuran wantsFullScreenLayout en YES, si le importa).

En su ejemplo de UITabBarController, BTW, parece que no está imprimiendo la información para la vista del controlador de la barra de pestañas; Aquí es un UILayoutContainerView, no un UIView simple.