2011-04-25 5 views
22

Estoy creando un UIToolbar personalizado para usar como UIView en la propiedad UINavigationBar.navigationitem.titleView. Me gustaría ajustar el tamaño de la barra de herramientas a la altura del .navigationitem obteniendo la altura actual del elemento .navigation en lugar del código. ¿Hay alguna manera de obtener el valor de altura?¿Cómo obtengo la altura de UINavigationBar.navigationItem mediante programación?

+0

La altura de un elemento de navegación depende del tipo de elemento de navegación que haya creado, pero siempre se puede basar la altura de la barra de herramientas en la altura de la barra de navegación. – spstanley

Respuesta

44

No estoy seguro si esto es lo que necesita.

self.navigationController.navigationBar.frame.size.height

+3

¡Muy "limpio" - práctica típica de la Ley de Demeter! :-) No es tu culpa, Apple lo diseñó. Solo estoy señalando cuán terriblemente se ve ... – Michal

+3

no funciona todo el tiempo ... a veces la barra de navegación sería de cierta altura (en mi caso 44) pero luego tendría una (privada, es decir, no se puede acceder a través de la apis de UIKit) subvista que es más grande (en mi caso, _UINavigationBarBackground.UIBackdropView.UIView altura es 64) .. – abbood

+0

Esto por alguna razón devuelve 46, cuando la altura es claramente más (supongo 64). Tal vez es porque no establecí restricciones en este objeto? – Trip

Cuestiones relacionadas