SwiftUI Quick Tip: Apply Text Transformations

Gabriel Theodoropoulos
2 min readNov 16, 2020
English colored physical letters made of textile thrown around randomly, with the title text transformation in SwiftUI overlapping at the bottom left side

Have you ever wondered how to apply text transformations in SwiftUI, such as small caps, lowercase small caps, or uppercase small caps? It’s actually pretty easy, as all available transformations are available and suggested by Xcode when specifying the font.

Consider the following example that applies the largeTitle font to text:

Text("Hello World!!!")

Before applying any transformation, it’s necessary to explicitly set the class that the largeTitle belongs to:

Text("Hello World!!!")

Then, just press the dot key in your keyboard and Xcode will suggest all possible transformations that can be applied to the font:

For example, by applying the small caps effect on the text the result looks like this:

Text("Hello World!!!")

The only mandatory thing to do is to specify the Font class explicitly. The above works for both system and custom fonts. Here's another example that makes the system font bold with a custom size and applies a different effect:

Text("Hello World!!!")
.font(Font.system(size: 40, weight: .bold).lowercaseSmallCaps())

And one last example using a custom font:

Text("Hello World!!!")
.font(Font.custom("AvenirNext-Bold", size: 40).uppercaseSmallCaps())

I hope that quick tip will be proved useful to you! These font transformations lead to nice visual results and can really make displayed texts more interesting and eye-catching!

Originally published at https://serialcoder.dev on November 16, 2020.

Gabriel Theodoropoulos

An iOS & macOS app maker writing code in Swift. Author of countless programming tutorials. Content creator. https://serialcoder.dev