Objective c 无法更改按钮字体

Objective c 无法更改按钮字体,objective-c,cocoa,nsbutton,nsfont,Objective C,Cocoa,Nsbutton,Nsfont,我正在尝试更改我创建的NSButton子类的字体。使用以下代码设置实际按钮时,我可以设置字体: [button setFont:[NSFont fontWithName:@"Courier" size:15]]; 然而,当我稍后在应用程序中尝试这样做时,它不起作用 我试图让用户选择一种新字体;一旦他们这样做了,我想更新这个按钮,以使用选定的字体 我知道我的字体选择过程不是问题所在,因为我可以将其他UI项目的字体更改为用户选择的字体 此外,我认为问题是由于我的子类正在经历一个cabasi

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

    [button setFont:[NSFont fontWithName:@"Courier" size:15]];
然而,当我稍后在应用程序中尝试这样做时,它不起作用

我试图让用户选择一种新字体;一旦他们这样做了,我想更新这个按钮,以使用选定的字体

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

此外,我认为问题是由于我的子类正在经历一个cabasicanization,但是当我删除动画时,它仍然不起作用。此外,我甚至可以在动画运行时更改按钮的字体颜色

最后,我确信我的插座连接正确


那么问题来自哪里呢?过去是否有人遇到过类似问题?

我建议您检查您的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];

我建议您检查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];

与UIButtons不同,NSButtons没有标题标签。它工作得很好,我没有想到这一点。我不知道为什么我的传统字体更改不起作用,但事实上,我的应用程序非常不传统。谢谢与UIButtons不同,NSButtons没有标题标签。它工作得很好,我没有想到这一点。我不知道为什么我的传统字体更改不起作用,但事实上,我的应用程序非常不传统。谢谢嗯…在10.7.3打电话给setFont:对我来说很有效。不过,你可以试着设置按钮的AttributeTitle。嗯……在10.7.3上调用setFont:对我来说很有用。不过,您可以尝试设置按钮的AttributeTitle。