【问题标题】:can't set custom font to uibutton programmatically无法以编程方式将自定义字体设置为 uibutton
【发布时间】:2015-09-03 12:43:50
【问题描述】:

我正在尝试以编程方式为 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?

【问题讨论】:

标签: ios objective-c fonts uibutton


【解决方案1】:

只需确保捆绑包中的所有字体确实可用,尝试打印所有字体并检查您是否使用了正确的名称。您可以在应用代理的 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);
 }
}

从打印值中获取您的字体,然后按照您已经在使用的方式使用它。 希望对你有帮助

【讨论】:

  • 不,不是。只有当我从界面生成器添加标签并将其字体设置为 ubuntu 时才会打印它的名称。
  • 这意味着您的字体没有被添加到您的项目资源中。或未在 plist 中正确添加。
猜你喜欢
  • 2023-03-20
  • 1970-01-01
  • 2023-03-07
  • 2015-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多