可能重复:
Custom font in iPhone
我正在尝试创建自定义标签,将其设置为titleView
的{{1}},但我无法将标签字体设置为我项目中包含的自定义字体。
我有一个名为“BADER_AL_GORDABIA-2_0.ttf”的自定义字体文件,FontBook中显示的真实字体名称是“bader_al gordabia-2” 我已按照以下步骤操作:
我可以使用
加载字体navigationItem
我确保customFont不为null(通过打印其描述),但问题是我无法将此自定义字体应用于UILabel。
我的代码是:
UIFont * customFont = [UIFont fontWithName:@"bader_al gordabia-2" size:18.0f];
我试图搜索堆栈溢出,但我找不到合适的答案。 我还尝试使用以下链接中指定的自定义标签: http://refactr.com/blog/2012/09/ios-tips-custom-fonts/
答案 0 :(得分:1)
我就是这样做的,
UILabel *navLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0, 300, 100)];
navLabel.backgroundColor = [UIColor clearColor];
navLabel.text = @"Set Up";
navLabel.textColor = [UIColor whiteColor];
navLabel.shadowColor = [UIColor colorWithWhite:0.0 alpha:1.0];
navLabel.shadowOffset = CGSizeMake(0, -2);
navLabel.font = [UIFont fontWithName:@"Questrial" size:28.0];
navLabel.textAlignment = UITextAlignmentCenter;
self.navigationItem.titleView = navLabel;
[navLabel release];
只有上面的代码不起作用...所以你需要转到你的app plist文件并添加一个新行并将这个键添加到行中,
Fonts provided by application
并将字体名称添加到item0的值
根据我的代码," Questrial-Regular.ttf"
另外一件事,
也就是说,您可能无法正确了解字体名称。所以你需要找到正确的字体名称。将此代码添加到ViewdidLoad中,它会将系列名称记录到终端。
NSLog(@"%@",[UIFont familyNames]);
您可以根据您的字体找到正确的字体名称。
按照这个步骤,它对我有用,我认为它也会对你有帮助。
答案 1 :(得分:0)
以下是您应该做的事情 - 首先在任何地方添加并调用以下方法:
+(void)logAllFonts{
NSArray *fontFamilies = [UIFont familyNames];
for (int i = 0; i < [fontFamilies count]; i++)
{
NSString *fontFamily = [fontFamilies objectAtIndex:i];
NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
NSLog(@"%@: %@", fontFamily, fontNames);
}
}
这将记录项目中存在的所有fontNames,包括您在项目和plist中添加的外部字体。
现在,您将在控制台中查看该列表,并找到您添加的字体的确切字体名称(bader_al gordabia-2)。在fontWithName中使用此名称:
希望这有帮助