无法更改NSButton字体

时间:2012-02-04 02:20:02

标签: objective-c cocoa nsbutton nsfont

我正在尝试更改我创建的NSButton子类的字体。当我使用以下代码设置实际按钮时,我可以设置字体:

    [button setFont:[NSFont fontWithName:@"Courier" size:15]];

但是,当我在我的应用程序中稍后尝试执行此操作时,它不起作用。

我正在尝试让用户选择一种新字体;一旦他们完成了这项工作,我想更新此按钮以使用所选字体。

我知道我的字体选择过程不是问题,因为我可以将其他UI项目的字体更改为用户选择的字体。

此外,我认为问题是由于我的子类正在通过CABasicAnimation这一事实,但是当我删除动画时,它仍然无效。此外,我甚至可以在动画运行时更改按钮的字体颜色。

最后,我确定我的网点连接正确。

那么问题可能来自哪里?过去有没有人遇到过类似的问题?

1 个答案:

答案 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];