我希望在运行时检查设备(iPhone / iPad)上是否存在字体?
有没有办法做到这一点?
您可以尝试使用UIFont
的fontWithName方法,我感觉它应该会对在iOS中不存在的字体返回nil。
+ (UIFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize
您可以使用此代码获取所有可用字体的列表:
// List all fonts on iPhone
NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];
NSArray *fontNames;
NSInteger indFamily, indFont;
for (indFamily=0; indFamily<[familyNames count]; ++indFamily)
{
NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]);
fontNames = [[NSArray alloc] initWithArray:
[UIFont fontNamesForFamilyName:
[familyNames objectAtIndex:indFamily]]];
for (indFont=0; indFont<[fontNames count]; ++indFont)
{
NSLog(@" Font name: %@", [fontNames objectAtIndex:indFont]);
}
[fontNames release];
}
[familyNames release];