Swift Mac OSX NSButton 标题颜色
Swift Mac OSX NSButton title color
我想知道如何在 swift 中将标题颜色更改为 NSButton,我在 objective-c 中看到了很多示例,但我认为在 swift 中的实现是不同,谁能给我举个例子?
在 viewDidLoad
或某处试试这个。
在Swift 3:
let pstyle = NSMutableParagraphStyle()
pstyle.alignment = .center
button.attributedTitle = NSAttributedString(string: "Title", attributes: [ NSForegroundColorAttributeName : NSColor.red, NSParagraphStyleAttributeName : pstyle ])
在 Swift4 中
button.attributedTitle = NSMutableAttributedString(string: "Hello World", attributes: [NSAttributedStringKey.foregroundColor: NSColor.white, NSAttributedStringKey.paragraphStyle: style, NSAttributedStringKey.font: NSFont.systemFont(ofSize: 18)])
Swift 4
我将其添加为附加答案,因为它仅更改请求的属性而不会覆盖或添加其他属性。
if let mutableAttributedTitle = button.attributedTitle.mutableCopy() as? NSMutableAttributedString {
mutableAttributedTitle.addAttribute(.foregroundColor, value: NSColor.white, range: NSRange(location: 0, length: mutableAttributedTitle.length))
button.attributedTitle = mutableAttributedTitle
}
我想知道如何在 swift 中将标题颜色更改为 NSButton,我在 objective-c 中看到了很多示例,但我认为在 swift 中的实现是不同,谁能给我举个例子?
在 viewDidLoad
或某处试试这个。
在Swift 3:
let pstyle = NSMutableParagraphStyle()
pstyle.alignment = .center
button.attributedTitle = NSAttributedString(string: "Title", attributes: [ NSForegroundColorAttributeName : NSColor.red, NSParagraphStyleAttributeName : pstyle ])
在 Swift4 中
button.attributedTitle = NSMutableAttributedString(string: "Hello World", attributes: [NSAttributedStringKey.foregroundColor: NSColor.white, NSAttributedStringKey.paragraphStyle: style, NSAttributedStringKey.font: NSFont.systemFont(ofSize: 18)])
Swift 4
我将其添加为附加答案,因为它仅更改请求的属性而不会覆盖或添加其他属性。
if let mutableAttributedTitle = button.attributedTitle.mutableCopy() as? NSMutableAttributedString {
mutableAttributedTitle.addAttribute(.foregroundColor, value: NSColor.white, range: NSRange(location: 0, length: mutableAttributedTitle.length))
button.attributedTitle = mutableAttributedTitle
}