¿Cómo obtener el tamaño real del marco [UIScreen mainScreen]?

Estoy un poco molesto. Tengo una aplicación con la barra de estado visible en la ventana principal. Dado que me gustaría configurar mis vistas y sus tamaños de cuadro dinámicamente (tal vez la barra de estado ocupa 40 píxeles durante una llamada telefónica, por ejemplo).

Puedo hacer uno de los dos:

[[UIScreen mainScreen] bounds];
[[UIScreen mainScreen] applicationFrame];

o realmente molesto es que estos dos generan dos conjuntos de valores diferentes, cada uno igualmente inúti

bounds generará:{{0, 0}, {320, 480}} mientra
applicationFrame generará{{0, 20}, {320, 460}}

Como puedes ver,bounds da el origen y correcto (0 comienza justo debajo de la barra de estado) pero luego da una altura de 480, lo cual es incorrecto. Debería ser 460, ya que la barra de estado es visible. Entonces tenemosapplicationFrame que comienza 20 píxeles debajo de la barra de estado (por lo que hay un límite), pero luego da la altura correcta. Pero eso no es muy útil cuando se empuja hacia abajo 20 píxeles de todos modos.

¿Alguna ayuda

Respuestas a la pregunta(5)

Su respuesta a la pregunta