I’m currently working on an app that uses the “ChalkboardSE-Regular” font and my deployment target is 4.0+. This font was not available in 4.1 but it is supported in 4.3. What would be the best way to go about checking if the font exists and if it does not, use another supported font on the <4.1 versions of iOS. [UIFont familyName] returns a list of these fonts “Chalkboard SE”
Thanks in advance!
T
[UIFont familyName]is supported back to iPhone OS 2.0 (before 2.0, third-party apps were not allowed on iPhone or iPod touch) , so I would use that to check to see if a font family exists on the current device, and if it doesn’t exist, use a suitable fall-back font for that version of iOS. Here’s John Gruber’s list of iPhone fonts from the original iPhone in 2007 (contrasted with the fonts in Mac OS X of the day). I haven’t checked them all, but the iOS fonts I did check are still in iOS 5:Here’s an example of using
[UIFont familyName]:This will produce a list like this:
Once you know the family name, you can use the
UIFontclass methodfontNamesForFamilyNameto get an NSArray of the names of all the fonts in the family. For example:That will produce a list like this:
The following example code prints a list of each font in every family on the current device:
For more information, check out the iOS Developer Reference document for the
UIFontclass methods familyNames and fontNamesForFamilyName:.