无法以编程方式将自定义字体设置为uibutton

时间:2015-09-03 12:43:50

标签: ios objective-c fonts uibutton

我试图以编程方式为uibutton使用ubuntu字体(按钮也是以编程方式创建的,它是自定义的)。这就是我所做的。

[self.titleLabel setFont:[UIFont fontWithName:@"Ubuntu" size:20.0]];

但没有运气。我检查了一切 - 字体包含在构建阶段中 - 我已在info.plist

中添加了字体

但是当我从界面构建器添加标签并从属性检查器设置ubuntu字体时,一切正常。字体也应用于uibutton。但是当我删除标签问题时,问题仍然存在 这里发生了什么?

编辑: 我已经按照类似问题的答案中提供的步骤进行了操作。像这样 How to include and use new fonts in iPhone SDK?

1 个答案:

答案 0 :(得分:0)

只需确保捆绑包中的所有字体都可用,尝试打印所有字体并检查您是否使用了正确的名称。您可以使用app delegate的didFinishLaunchingWithOptions方法中的以下代码轻松完成此操作:

for (NSString *familyName in [UIFont familyNames]) {
NSLog(@"Family Name : %@", familyName);
for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
    NSLog(@"\tFont Name : %@", fontName);
 }
}

按字母顺序排列:

for (NSString* family in [[UIFont familyNames] sortedArrayUsingSelector:@selector(compare:)])
{
  NSLog(@"%@", family);

for (NSString* name in [[UIFont fontNamesForFamilyName:family] sortedArrayUsingSelector:@selector(compare:)])
{
    NSLog(@"  %@", name);
 }
}

从打印值中获取字体,然后按照您的操作使用它。 希望它有所帮助