8

self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];OSX の systemStatusBar に statusItem を追加するために使用します。次に、statusItem が systemStatusBar の一番左の位置に表示されます。システムクロックの左側など、特定のインデックスにそのようなアイテムを追加する方法があるかどうか疑問に思っていましたか?

4

3 に答える 3

2

はいといいえ。priority追加するために指定できるプライベート API を使用しますNSStatusItemNSStatusBar私は(NSStatusBar+MISSINGOrder )の小さなカテゴリを開発しました魔女はこれのための簡単な方法を提供します:

NSStatusItem *statusItem =
    [systemStatusBar statusItemWithLength:NSVariableStatusItemLength
                               positioned:NSStatusBarItemOrderingModeAfter
                               relativeTo:NSStatusBarItemPriorityNotificationCenter];

実装の詳細については、内部を参照してください。

于 2015-04-30T18:23:33.473 に答える
1

これを行うためのプライベート API があります。

NSStatusItem *item = [NSStatusBar _statusItemWithLength:NSSquareStatusItemLength  withPriority:INT32_MAX];

これにより、ステータス アイテムがずっと右に配置されます (または、少なくとも、許可されている限り右に配置されます。まだスポットライトの左側にあります)。

明らかにプライベート API であるため、responseToSelectorif ステートメントでラップする必要があります。

于 2015-01-05T00:22:19.573 に答える