2009-07-29 3 views
0

Я работаю над приложением, которое отображает определенную информацию о меню состояния, и мне было интересно, есть ли какой-либо API Cocoa, который может сделать мой NSStatusItem всегда размещенным на самом левом, независимо от того, когда он запущен или если другие приложения начался после него.NSStatusItem всегда остался?

NSStatusBar *bar = [NSStatusBar systemStatusBar]; 
barItem = [[bar statusItemWithLength:NSVariableStatusItemLength] retain]; 

Спасибо.

ответ

3

Принимая вас ультра-буквально на мгновение, что делать, если два приложения использовали такой API? Они будут сражаться и откатываться от конца строки меню. ☺

Существует нет поддерживаемого способа сделать это, но есть an undocumented/unsupported way to specify the “priority” of the status item when you create it. Разумеется, используйте на свой страх и риск, и обязательно выполните проверку respondsToSelector:, чтобы вернуться на поддерживаемый способ, если неподдерживаемый способ уходит.

+0

Я был совершенно уверен, что при добавлении элементов строки состояния операционная система устанавливает правила «все равны», но всегда есть «недокументированный способ». Спасибо за ваш ответ и вашу помощь. – alex

Смежные вопросы