无法在UILabel中设置自定义字体(iPad应用程序)

4
我从套餐中加载视图并尝试为其中的标签设置自定义字体,但是没有任何变化。该视图和标签的输出口在文件所有者中。这是我的代码:
    self.rikView = (RIKMainToolbar*)[[[NSBundle mainBundle] loadNibNamed:@"RIKMainToolbarPort" owner:self options:nil] objectAtIndex:0];
    label.font = [UIFont fontWithName:@"PFDinTextCondPro-Medium.ttf" size:46];

我做错了什么?

更新:我在iPhone应用程序中使用此字体,但在ViewController的标签中使用,并在viewDidLoad函数中设置。它能够工作。因此,我认为问题出在loadWithNibName或iPad上。

已解决,感谢@voromax。问题在于标签的输出属于文件所有者。我将其替换为类,一切都能正常工作)


如果您记录此表达式的值[UIFont fontWithName:@"PFDinTextCondPro-Medium.ttf" size:46];会发生什么? - voromax
@voromax 字体日志:<UICFFont: 0x5d99ad0> 字体家族:PF Din Text Cond Pro;字重:正常;字形:正常;字号:46像素。 - Katerina Korovkina
@Katerina Korovkina 接下来,我们需要确保这是我们正在改变的确切UILabel。尝试更改其他属性,如文本(text)、文本颜色(textColor)。如果您看不到更改,请检查绑定(binding)。 - voromax
你是用哪种方法来做这件事的? - Ashley Mills
@voromax 无法更改文本。 - Katerina Korovkina
显示剩余2条评论
3个回答

2

我不确定我完全理解你的代码,但是假设你正在RIKMainToolbarPortinitWithFrame方法中进行label.font的赋值,请尝试将其移到awakeFromNib方法中。


好的,您能否展示更多代码,包括调用该方法的方法? - Ashley Mills

1
打开FontBook应用程序,选择“查看字体信息”。复制所需字体的PostScript名称,并在Obj-C代码中使用它。

那并没有帮助。我使用了正确的名称,并在程序中进行了检查。有这样的字体名称,不知道为什么它不起作用。 - Katerina Korovkina

1

您没有使用正确的字体名称。 您似乎正在使用字体文件的名称,而不是字体名称。 例如,在我的当前应用程序中,我有文件Opal_1.ttf。但是,我使用“Opal”作为字体名称。

在此处检查示例:https://dev59.com/TXM_5IYBdhLWcg3waiiJ#1384206


上面的注释中的NSLog显示字体已经被正确加载。 - Ashley Mills
  1. 这些字符串在其他项目中可以使用。
  2. 我已经通过 NSLog 在我的应用程序中检查了字体名称和字体系列。
- Katerina Korovkina

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接