5


0

Objective-C / Cocoaでステータスバーのアイテムタイトルの色を変更する方法
//Create the NSStatusBar and set its length
statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];

[statusItem setHighlightMode:YES];
[statusItem setTitle:@"myTitle"];
[statusItem setToolTip:@"myToolTip"];
[statusItem setMenu:statusMenu];
[statusItem setEnabled:YES];

「myTitle」の色を変更する方法f.e. 青に? PeerGuardianなどの一部のアプリケーションは、リストが無効になったときにステータスバーのアイテムタイトルを赤に変更するため、これは何らかの形で可能だと思います。

ありがとうございました!

2 Answer


5


NSStatusItem`の -setAttributedTitle`メソッドを使用して、適切な色の `NSAttributedString`を指定します。

NSDictionary *titleAttributes = [NSDictionary dictionaryWithObject:[NSColor blueColor] forKey:NSForegroundColorAttributeName];
NSAttributedString* blueTitle = [[NSAttributedString alloc] initWithString:@"myTitle" attributes:titleAttributes];

statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];
[statusItem setAttributedTitle:blueTitle];
[blueTitle release];


1


Swift 4バージョン:

let attributes = [NSAttributedStringKey.foregroundColor: NSColor.blue]
let attributedText = NSAttributedString(string: "myTitle", attributes: attributes)

let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
statusItem.attributedTitle = attributedText