如何在运行时检查iOS4中是否存在字体

sha*_*oga 7 iphone fonts ios4 ipa

我希望在运行时检查设备上是否存在字体(iphone/ipad)?

有没有办法做到这一点?

ser*_*gio 3

您可以使用此代码获取所有可用字体的列表:

// 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];
Run Code Online (Sandbox Code Playgroud)

基于此代码,您可以轻松构建包含所有字体名称的 NSArray,然后使用它来验证您的字体是否存在,或者任何类型的工作流程更适合您的应用程序。

来源