7

デバイス (iphone/ipad) にフォントが存在するかどうかを実行時に確認したいですか?

それを行う方法はありますか?

4

2 に答える 2

4

UIFont fontWithNameメソッドを使用して試すことができます。iOSに存在しないフォントに対してnilを返す必要があると思います。

+ (UIFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize
于 2011-05-30T17:47:44.500 に答える
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];

このコードに基づいて、すべてのフォント名を含む NSArray を簡単に構築し、それを使用してフォントがそこにあるかどうか、または任意の種類のワークフローがアプリにより適しているかどうかを確認できます。

ソース

于 2011-05-30T17:45:27.427 に答える