Muy buenas, soy Miguel y para hoy les traigo este tutorial.
Índice
Agregue una nueva fuente a su aplicación iOS hoy
Hace un tiempo, investigamos un Tipo Dinámico con la fuente del sistema. Esta vez, vamos a ver cómo usar el Tipo Dinámico con una fuente personalizada en nuestras aplicaciones iOS. Apple ofrece excelentes APIs para que nuestras aplicaciones sean accesibles, incluso si usamos estilos de fuentes personalizadas.
Agregar fuente personalizada a la aplicación
Primero, necesitamos agregar nuestra fuente personalizada al proyecto. Hay varios pasos involucrados, así que repasémoslos.
Necesitamos agregar un archivo de fuente al proyecto de la aplicación Xcode. Actualmente, se admiten los archivos True Type Font (.ttf) y Open Type Font (.otf). Simplemente arrastre y suelte archivos en su proyecto XCode. Tenga cuidado y seleccione los objetivos en los que desea usar esta fuente:
Si olvida agregar la fuente a la membresía de destino específica en su proyecto de Xcode, se encontrará con un problema cuando no se encuentre el archivo de fuente:
Para solucionarlo, simplemente marque la casilla de verificación y agréguela a su objetivo designado:
Una vez hecho esto, dirígete al archivo Info.plist
y agregue una nueva entrada con la clave Fonts provided by application
. Allí, debemos proporcionar una matriz con todos los archivos de fuentes que hemos agregado al proyecto.
Compruebe que se han agregado los archivos de fuentes y que podemos usar este código para imprimir todas las familias y nombres de fuentes disponibles:
Simplemente pegue este código en su AppDelegate
didFinishLaunchingWithOptions
y cuando ejecute la aplicación, imprimirá familias de fuentes y nombres en la consola.
Usar fuente personalizada con tipo dinámico
Para usar Dynamic Type con fuentes personalizadas, necesitamos usar UIFontMetrics
. Es un objeto de utilidad que ayuda a obtener fuentes personalizadas que se escalan de acuerdo con la presencia del tamaño del texto y la configuración de accesibilidad. En otras palabras, esta clase nos ayuda a mostrar la fuente personalizada teniendo en cuenta la fuente del usuario y la configuración de accesibilidad.
Para ello, necesitamos inicializar una instancia de una fuente personalizada con un tamaño concreto. Para determinar el tamaño específico, podemos usar la tabla de tamaño de tipos dinámicos de la documentación de Apple.
Digamos que agregamos una etiqueta que tiene un comportamiento de título grande. Esto significa que debemos usar una fuente de tamaño de 34 puntos. Luego usamos UIFontMetrics
e inicializamos una instancia para un estilo de texto específico. Al final, configuramos la fuente para nuestra etiqueta usando la función scaledFont
y proporcionamos nuestra fuente personalizada:
Actualización tras cambios en el tamaño del texto
Para probar cómo funciona todo, podemos habilitar el tamaño del texto en las Anulaciones del entorno de Xcode:
Si lo cambia, puede notar que no sucede nada en nuestra aplicación. Para habilitar el cambio automático, necesitamos configurar adjustsFontForContentSizeCategory
. Indica que el objeto debe actualizar automáticamente su fuente cuando cambia la categoría del dispositivo.
label.adjustsFontForContentSizeCategory = true
Ahora podemos probar completamente y deberíamos ver que la fuente de nuestra etiqueta se ajusta de acuerdo con el tamaño del texto y la configuración de accesibilidad.
TL; DR
Admitir Dynamic Type con una fuente personalizada puede parecer una tarea complicada, pero no tiene por qué serlo. Al usar el objeto UIFontMetrics
de utilidad, podemos escalar nuestra fuente personalizada de acuerdo con lo que el usuario haya especificado en el tamaño del texto o la configuración de accesibilidad.
Recursos
- Aplicación de ejemplo
- Creación de aplicaciones con tipo dinámico
- Cómo cambiar el tamaño de una fuente personalizada usando UIFontMetrics
- Uso de una fuente personalizada con tipo dinámico
- Las pautas de tamaño de fuente de iOS
- Agregar una fuente personalizada a su aplicación
- Tipografía – Directrices de interfaz humana
Añadir comentario