如何在运行时检查iOS4中是否存在字体
答
您可以使用此代码来获取所有的字体可用的列表:在此基础上的代码,你可以轻松地与所有的字体名称建立一个NSArray,然后用它来验证
// 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];
,如果您的字体是有,或者任何类型的工作流程都更适合您的应用程序。
答
,你可以通过使用UIFont
fontWithName方法试试,我觉得它应该为这一点儿也不iOS中存在的字体返回零。
+ (UIFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize
+0
有趣的方法,但你是“在黑暗中拍摄”。如果字体*存在,那么做起来更容易,如果不存在,那么因为更多的字体在iOS上不可用,那么这些字体就是。 – Moshe 2011-05-30 18:06:14
为什么downvote?这似乎是一个合法的问题... – 2011-05-30 17:44:28
谢谢,有没有办法知道为什么? – shannoga 2011-05-30 18:05:49