Estoy tratando de cambiar el tamaño de la fuente de uno de mi punto de vista de los controladores, porque se presta a más de texto, por lo que se requiere tamaño de fuente más pequeño de mis otros puntos de vista. Voy a instalar la barra de navegación de atributos en el appdelegate durante didFinishLaunchingWithOptions y, a continuación, configuración de la fuente para mi punto de vista controlador en cuestión durante el viewDidLoad. Sin embargo, cuando vuelvo de una pantalla, o hacia adelante, los cambios que he realizado para la barra de navegación se conservan, es decir, el tamaño de fuente más pequeño. Hay una forma de evitar esto? Por ejemplo, la configuración de la fuente de vuelta a la normalidad tras salir de la vista o algo?

Cliffsnotes: Tratando de establecer la fuente en un solo controlador de vista, pero una vez que me fije, que se aplica a todos los de la vista de los controladores.

Código es el siguiente:

En El AppDelegate:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbar.png"] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  [UIColor clearColor],
  UITextAttributeTextColor,
  [UIColor whiteColor],
  UITextAttributeTextShadowColor,
  [NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
  UITextAttributeTextShadowOffset,
  [UIFont fontWithName:@"QuicksandBold-Regular" size:24.0],
  UITextAttributeFont,
  nil]];

En el controlador de vista de viewDidLoad:

[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                                     [UIColor clearColor],
                                                                     UITextAttributeTextColor,
                                                                     [UIColor whiteColor],
                                                                     UITextAttributeTextShadowColor,
                                                                     [NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
                                                                     UITextAttributeTextShadowOffset,
                                                                     [UIFont fontWithName:@"QuicksandBold-Regular" size:18.0],
                                                                     UITextAttributeFont,
                                                                     nil]];
He intentado editar el título del color con la solución: NSDictionary *titleTextAttributes = [[UINavigationBar appearance] titleTextAttributes]; [titleTextAttributes setValue:[UIColor colorWithRed:0.48627454040000001 green:0.050980396570000003 blue:0.13725490870000001 alpha:1] forKey:UITextAttributeTextColor]; [[UINavigationBar appearance] setTitleTextAttributes:titleTextAttributes]; Pero no funciona :S!

OriginalEl autor Hudson Buddy | 2012-10-09

2 Comentarios

  1. 3

    La navbar es compartido por todos los de la vista de los controladores del controlador de navegación. Así que una vez que el cambio de la barra de exploración, ver todos los controladores en el mismo nav pila será afectado. Una opción sería establecer una costumbre titleView para este controlador de vista.

    self.navigationItem.titleView = ... //some UILabel with the desired formatting

    De esta manera, sólo una vista controlador muestra el título personalizado.

    Otra opción sería cambiar la barra de navegación de su aparición en el controlador de vista del viewWillAppear método y, a continuación, restablezca en el controlador de vista del viewWillDisappear método. Pero este enfoque puede no ser tan suave como la de usar una custom titleView.

    coolio, me olvidé por completo acerca de la viewwilldisappear método, exactamente lo que estaba buscando.

    OriginalEl autor rmaddy

  2. 0

    Por lo tanto, ahora el tuyo atribuido claves está en desuso. El uso de este teclas:

    NSDictionary* attributes = [NSDictionary dictionaryWithObjectsAndKeys:
     [UIColor clearColor], NSForegroundColorAttributeName,
     [UIColor whiteColor], NSShadowAttributeName,
     [NSValue valueWithUIOffset:UIOffsetMake(0, -1)], NSShadowAttributeName,
     [UIFont fontWithName:@"QuicksandBold-Regular" size:24.0], NSFontAttributeName,
     nil];

    OriginalEl autor Aleksandr Osnach

Dejar respuesta

Please enter your comment!
Please enter your name here