我正在尝试更改我创建的NSButton子类的字体。当我使用以下代码设置实际按钮时,我可以设置字体:
[button setFont:[NSFont fontWithName:@"Courier" size:15]];
但是,当我在我的应用程序中稍后尝试执行此操作时,它不起作用。
我正在尝试让用户选择一种新字体;一旦他们完成了这项工作,我想更新此按钮以使用所选字体。
我知道我的字体选择过程不是问题,因为我可以将其他UI项目的字体更改为用户选择的字体。
此外,我认为问题是由于我的子类正在通过CABasicAnimation这一事实,但是当我删除动画时,它仍然无效。此外,我甚至可以在动画运行时更改按钮的字体颜色。
最后,我确定我的网点连接正确。
那么问题可能来自哪里?过去有没有人遇到过类似的问题?
答案 0 :(得分:3)
我建议您检查您的IB连接,因为setFont:
应该有效。
或者您可以尝试使用:
(void)setAttributedTitle:(NSAttributedString *)aString
可以从以下位置创建NSAttributedString
:
- (id)initWithString:(NSString *)aString attributes:(NSDictionary *)attributes
其中属性可以创建为:
NSDictionary * attributes = [NSDictionary dictionaryWithObject:[NSFont fontWithName:@"Courier" size:15] forKey:NSFontAttributeName];