Given a font f
, call:
NSString* style = [[f fontDescriptor] objectForKey:UIFontDescriptorTextStyleAttribute];
Now you can call [UIFont preferredFontForTextStyle:style]
to generate the new font.
So, no, you don't have to hard-code the text style for every label into your code, but yes, you do have to set the font again for every label, because (get this) Dynamic Type is not dynamic.