更改NSButton的字体大小不会改变任何东西
问题描述:
我正在开发我的第一个Swift项目(hooray),这是一个适用于Mac OS的应用程序。我现在想要做的是创建一些按钮,使用白色文本颜色和自定义字体。因为我需要该按钮上的一个新属性来保存一些数据,所以我创建了一个子类NSButton
。现在更改NSButton的字体大小不会改变任何东西
,我知道我可以设置一个按钮的字体是这样的:
super.font = NSFont(name: "NB-International-Pro", size: 40)
这就像一个魅力的工作。之后,我试图这样做是为了改变文本的颜色:
let pstyle = NSMutableParagraphStyle()
pstyle.alignment = .center
super.attributedTitle = NSAttributedString(string: (device?.name)!, attributes: [ NSForegroundColorAttributeName : NSColor.white, NSParagraphStyleAttributeName : pstyle ])
哪家做的工作,它确实改变了文本的颜色,但是,现在的字体和字号都恢复为默认。有两种选择吗?
谢谢。
答
而是先设定的字体,包括在你的属性的字体名称和大小使用NSFontAttributeName
和NSFontSizeAttribute
键创建NSAttributedString
时:
attributedTitle = NSAttributedString(string: (device?.name)!, attributes: [ NSForegroundColorAttributeName : NSColor.white, NSParagraphStyleAttributeName : pstyle, NSFontAttributeName: "NB-International-Pro", NSFontSizeAttribute: 40])
除此之外,有可能是一些改进,你可以对你的代码体系结构。子类化NSButton
并不是真的只需要改变文本样式(可以在.xib或视图控制器中完成)。
你并不需要NSButton的子类来实现这一点。它可以很容易地在你的XIB文件中完成。在界面生成器属性检查器中,选择您的按钮并将类型设置为瞬时更改,然后在图像下输入按钮图标,在替代项下按钮图标2。 – KKRocks