Using Named iOS Font Styles With Custom Fonts
Trying to change the family on the font descriptor gets us a descriptor that includes both the new family and the old named font style […] Creating a font from the confused descriptor takes us right back where we started […] Our
Helvetica
is nowhere to be found.[…]
What if we had a way to maintain the style information even when switching to a custom font? With that available, we could look up the correct font size even when the user changes their preferred content size.
Here’s an extension on
UIFont
that does just that. The key trick is using associated objects to piggyback style information on the font.[…]
In
awakeFromNib
the fonts will start as those set in the nib or storyboard but will end as our custom fonts. IntraitCollectionDidChange
the fonts will start as our custom ones and will end as our custom ones at the new preferred content size.