Estoy encontrando poca información sobre el uso de UINavigationItem # titleView con una fuente personalizada. Cuando lo he hecho, la fuente está desalineada verticalmente en la barra de navegación.UINavigationItem # titleView problemas de alineación
Esta entrada es en parte para documentar un truco, y también esperando que alguien tenga una respuesta concisa a este problema, ya que siento que me falta algo simple.
En primer lugar el corte, usando mi propia clase derivada UILabel:
@interface NavigationItemLabel : UILabel
- (void)setFrame:(CGRect)frame;
@end
@implementation NavigationItemLabel
- (void)setFrame:(CGRect)frame {
// Called by UINavigationBar layoutSubviews.
frame.origin.y -= self.font.descender;
}
@end
Por alguna razón, == frame.origin.y -11, no importa qué fuente que utilizo. ¿Alguien tiene alguna intuición de por qué es esto?
Agregar el descendiente de mi fuente (fuente personalizada llamada Gabriola) parece ayudar. Sin este truco, el texto se alinea con la parte inferior de los descensores en el centro de la barra de navegación.
Esto no funciona con todas las fuentes.
¿Alguien tiene una mejor solución?
Gracias.
Una posible pista es la sugerencia de Sjors Provoost de utilizar sizeToFit con respecto a una pregunta relacionada: [link] (http://stackoverflow.com/questions/3125245/uinavigationitem-titleview-position) – Wienke