无法更改 NSButton 字体

ell*_*zan 2 cocoa objective-c nsbutton nsfont

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

    [button setFont:[NSFont fontWithName:@"Courier" size:15]];
Run Code Online (Sandbox Code Playgroud)

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

我试图让用户选择一种新字体;一旦他们完成此操作,我想更新此按钮以使用所选字体。

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

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

最后,我确定我的插座连接正确。

那么问题可能出在哪里呢?过去有人遇到过类似的问题吗?

wht*_*lnv 5

我建议您检查您的 IB 连接,因为setFont:应该可以工作。

或者你可以尝试使用:

(void)setAttributedTitle:(NSAttributedString *)aString
Run Code Online (Sandbox Code Playgroud)

可以从以下位置NSAttributedString创建:

- (id)initWithString:(NSString *)aString attributes:(NSDictionary *)attributes
Run Code Online (Sandbox Code Playgroud)

其中属性可以创建为:

NSDictionary * attributes = [NSDictionary dictionaryWithObject:[NSFont fontWithName:@"Courier" size:15] forKey:NSFontAttributeName];
Run Code Online (Sandbox Code Playgroud)