Я хотел бы знать, как изменить цвет заголовка в NSButton в swift, я видел множество примеров в объективе-c, но я думаю, что в быстрой реализации разные, может кто-нибудь предоставить мне пример?Swift Mac OSX NSButton title color
7
A
ответ
19
попробуйте это в viewDidLoad
или где-нибудь.
В Swift 3:
let pstyle = NSMutableParagraphStyle()
pstyle.alignment = .center
button.attributedTitle = NSAttributedString(string: "Title", attributes: [ NSForegroundColorAttributeName : NSColor.red, NSParagraphStyleAttributeName : pstyle ])
0
В Swift4
button.attributedTitle = NSMutableAttributedString(string: "Hello World", attributes: [NSAttributedStringKey.foregroundColor: NSColor.white, NSAttributedStringKey.paragraphStyle: style, NSAttributedStringKey.font: NSFont.systemFont(ofSize: 18)])
+0
Xcode 9 с быстрым 4 еще не вышел и не является GM либо, хотя это может не измениться. Я думаю, что вы прыгаете с пистолета здесь – Chris
1
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
}
Спасибо, что вы сделали мой день !!! – PhiceDev
В Swift 2 вам нужно изменить '' .CenterTextAlignment' к .Center' – Sebastian
Swift 3 версия: 'пусть paragraphStyle = NSMutableParagraphStyle() paragraphStyle.alignment = .center button.attributedTitle = NSAttributedString (строка: "Заголовок", attributes: [NSForegroundColorAttributeName: NSColor.red, NSParagraphStyleAttributeName: paragraphStyle]) ' –