Cuando incluimos un texto en la vista de nuestra App haciendo uso de Text, se muestra con el formato body, que es uno de los formatos que SwiftUI tiene preestablecido para los textos.
Podemos hacer uso del Modificador font para acceder a todos los formatos preestablecidos.
Al tratarse de un Enumerado, basta con escribir . para que aparezcan todos los valores disponibles.
Podemos probar con distintos valores y el resultado se muestra automáticamente en el Canvas.
Text("Hello, world!")
.font(.title)
Text("Hello, world!")
.font(.footnote)
En la Documentación Oficial de SwiftUI podemos encontrar todos los valores de los formatos preestablecidos, así como el resto de información sobre el Modificador font.
https://developer.apple.com/documentation/swiftui/font
Funcionalidades ampliadas de font
Como era de esperar, el Modificador font nos proporciona más funcionalidades que simplemente acceder a los formatos preestablecidos.
Por ejemplo, podemos elegir el valor .system
De esta forma podremos elegir el tamaño, grosor y diseño de la fuente. Veamos el siguiente ejemplo:
Text("Hello, world!")
.font(.system(size: 25, weight: .light, design: .serif))
Tenemos otras implementaciones de .system
Por ejemplo:
Text("Hello, world!")
.font(.system(.largeTitle, design: .monospaced))
Cómo cambia la apariencia de los valores establecidos con font según los Ajustes de Tamaño de texto de nuestro iPhone
Es posible cambiar el tamaño de los textos de manera general en nuestro iPhone, iPad, etc. Esto es muy habitual en personas mayores o con problemas de visión, los cuales suelen predefinir textos grandes.
Ajustes > Pantalla y brillo > Tamaño del texto
Esto quiere decir que en las aplicaciones que tengamos ajustados los textos dinámicos, estos cambiarán de tamaño ajustándose a las Preferencias del Sistema establecidas por el usuario.
En el caso que nos ocupa del uso de font, cuando seleccionemos valores preestablecidos de SwiftUI, estos cambiarán su tamaño adaptándose a las Preferencias del Sistema, lo cual puede provocar problemas en el diseño de nuestra aplicación, ya que puede ocurrir que determinados textos ocupen un espacio distinto al establecido en el diseño de nuestra App con el correspondiente "destrozo" en el aspecto visual de la Aplicación.
Para evitar que esto ocurra se pueden utilizar tamaños fijos y definir nosotros todos los atributos de estilo, aunque ello haga nuestra aplicación menos usable para aquellas personas con problemas visuales.
Text("Hello, world!")
.font(.system(.largeTitle, design: .monospaced))
Text("Hello, world!")
.font(.system(size: 40, design: .monospaced))