No hay nada de malo en las otras respuestas. Solo estoy compartiendo la versión del guión gráfico para configurar la fuente.
1. Seleccione su barra de navegación dentro de su controlador de navegación
2. Cambiar la fuente del título en el inspector de atributos
(Es probable que deba alternar el Tinte de barra de la barra de navegación antes de que Xcode elija la nueva fuente)
Notas (advertencias)
Verificado que esto funciona en Xcode 7.1.1+. ( Vea las muestras a continuación )
- Necesita alternar el tinte de la barra de navegación antes de que la fuente surta efecto (parece un error en Xcode; puede volver a cambiarlo al valor predeterminado y la fuente se mantendrá)
- Si elige una fuente del sistema ~ Asegúrese de asegurarse de que el tamaño no sea 0.0 (de lo contrario, se ignorará la nueva fuente)
- Parece que esto funciona sin problemas cuando solo hay una barra de navegación en la jerarquía de vistas. Parece que las NavBars secundarias de la misma pila se ignoran. (Tenga en cuenta que si muestra la barra de navegación del controlador de navegación maestro, se ignoran todas las demás configuraciones personalizadas de la barra de navegación).
Gotchas (deux)
Algunos de estos se repiten, lo que significa que es muy probable que valga la pena mencionarlos.
- A veces, el xml del guión gráfico se corrompe. Esto requiere que revise la estructura en Storyboard como modo de código fuente (haga clic con el botón derecho en el archivo de storyboard> Abrir como ...)
- En algunos casos, la etiqueta navigationItem asociada con el atributo de tiempo de ejecución definido por el usuario se estableció como un hijo xml de la etiqueta de vista en lugar de la etiqueta del controlador de vista. Si es así, quítelo de entre las etiquetas para que funcione correctamente.
- Alterne el Tinte NavBar para asegurarse de que se utiliza la fuente personalizada.
- Verifique el parámetro de tamaño de la fuente a menos que utilice un estilo de fuente dinámico
- La jerarquía de vistas anulará la configuración. Parece que es posible una fuente por pila.
Resultado
Muestras
- Video que muestra varias fuentes en proyecto avanzado
- Descarga de fuente simple
- Descarga avanzada del proyecto ~ Muestra varias fuentes NavBar y una solución alternativa de fuentes personalizadas
- Video que muestra varias fuentes y fuentes personalizadas
Manejo de fuentes personalizadas
Nota ~ Puede encontrar una buena lista de verificación en el sitio web Code With Chris y puede ver el proyecto de descarga de muestra.
Si tiene su propia fuente y desea usarla en su guión gráfico, entonces hay un conjunto decente de respuestas en la siguiente pregunta SO . Una respuesta identifica estos pasos.
- Obtenga su archivo de fuente personalizado (.ttf, .ttc)
- Importe los archivos de fuentes a su proyecto Xcode
- En app-info.plist, agregue una clave llamada Fuentes proporcionada por la aplicación. Es un tipo de matriz, agregue todos los nombres de archivo de fuente a la matriz, nota: incluida la extensión del archivo.
- En el guión gráfico, en la barra de navegación, vaya al Inspector de atributos, haga clic en el botón del icono derecho del área de selección de fuente En el panel emergente, elija Fuente a personalizada y elija el nombre de la fuente incrustada Familia de usted.
Solución alternativa de fuentes personalizadas
Entonces, Xcode, naturalmente, parece que puede manejar fuentes personalizadas en UINavigationItem, pero esa función simplemente no se actualiza correctamente (la fuente seleccionada se ignora).
Para solucionar esto:
Una forma es arreglar usando el guión gráfico y agregar una línea de código: primero agregue un UIView (UIButton, UILabel o alguna otra subclase de UIView) al controlador de vista (no al elemento de navegación ... Xcode actualmente no permite que uno haga ese). Después de agregar el control, puede modificar la fuente en el guión gráfico y agregar una referencia como salida a su controlador de vista. Simplemente asigne esa vista a UINavigationItem.titleView. También puede establecer el nombre del texto en el código si es necesario. Error informado (23600285).
@IBOutlet var customFontTitleView: UIButton!
//Sometime later...
self.navigationItem.titleView = customFontTitleView
fuente