One of my favourite Dynamic Type tricks is to use Stack Views and flip the axis from horizontal to vertical given a certain content-size-category threshold. So effortless and it works so well in so many scenarios.

Two examples of a song row in the Apple music app. One is for the large (default) size. Hypothetically, it could be build using three stack views: a horizontal one that holds what I've called main content stack view and the more options button, horizontally; the main content stack view, which has a horizontal axis too, with the cover art and another stack view, this one with a vertical axis, for the title of the song and the name of the band. The second example shows that if you change the axis for the main content stack view, from horizontal to vertical, the cover art will come before the stack view for the title of the song and the name of the band, leaving much more room for text to be displayed.

You may also find interesting...

If you have any web views in your app (Terms and Conditions and Privacy Policy, I'm looking at you), you can also support Dynamic Type for them. You can set an Apple system font with the same styles available for native development in your CSS.

Hacks are accessibility’s worst enemy. An example. There is a ‘trick’ floating on the internet: if you want a button with an icon to the right of the text, set the semantic content attribute to force right to left. Great way to create focus traps.

Color contrast between text and background is very important for perceivability. As colors come closer to each other, they’re more difficult to distinguish. Notice that colors that work well with big font sizes may not for smaller text.

Created in Swift with Ignite.

Supporting Swift for Swifts