私はOSXのsystemStatusBarにstatusItemを追加するのにself.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
を使用します。 statusItemは、systemStatusBarの一番左の位置に表示されます。そのようなアイテムを特定のインデックスに追加する方法があるかどうか疑問に思っていました。システムクロックの左側に?NSStatusBarの特定の位置にNSStatusItemを追加することはできますか?
5
A
答えて
0
いいえ、Appleは位置を選択するためのAPIを提供していません。
1
これを行うにはプライベートAPIがあります:あなたがそれらを持つことが許されている限り、右に、少なくともずっと右にステータスアイテムを配置(またはます
NSStatusItem *item = [NSStatusBar _statusItemWithLength:NSSquareStatusItemLength withPriority:INT32_MAX];
スポットライトの左側にはまだあります)。
明らかにプライベートAPIであるため、responseToSelector
ifステートメントでラップする必要があります。
2
はい、いいえ。プライベートAPIを使用するとNSStatusItem
を追加する場合はpriority
と指定できます。
NSStatusItem *statusItem =
[systemStatusBar statusItemWithLength:NSVariableStatusItemLength
positioned:NSStatusBarItemOrderingModeAfter
relativeTo:NSStatusBarItemPriorityNotificationCenter];
あなたはimplementation detailsのために内部探すことができます:私は(NSStatusBar+MISSINGOrder)NSStatusBar
のための小さなカテゴリを開発した魔女が、このための簡単な方法を提供しています。
+0
が私のプロジェクトではうまくいかない理由を参照してください。私は10.12です – jimwan
http://undefinedvalue.com/2009/07/07/adding-custom-view-nsstatusitem –