Как определить, отображается ли NSStatusItem в строке состояния? - PullRequest
2 голосов
/ 29 июля 2011

В моем приложении Mac OS X имеется элемент NSStatusItem.

Работает нормально, однако я только что обнаружил, что, очевидно, если в верхнем меню / строке состояния слишком много элементов (например, если приложение имеет длинные меню, слишком много значков и т. Д.), Мой статус элемент скрывается системой.

Как я могу обнаружить это в своем приложении, чтобы я мог что-то с этим сделать?

Спасибо

Ответы [ 2 ]

0 голосов
/ 30 ноября 2011

Этот вопрос в значительной степени является дубликатом этого . В этой ссылке описано очень неискреннее решение для решения вашей проблемы, хотя оно требует больше работы, чем вы ожидаете.

0 голосов
/ 29 июля 2011

На странице 18 издания Руководства по интерфейсу пользователя Mac OS X от 26 июля 2011 года (где элементы состояния упоминаются как «дополнительные элементы меню») указано:

Примечание.Если недостаточно места для отображения всех меню активного приложения, Mac OS X может пропустить некоторые дополнительные элементы меню.Если по-прежнему недостаточно места для отображения всех меню, некоторые из меню приложения могут быть опущены, начиная с самого правого меню.

Поэтому, чтобы ответить на ваш вопрос "(Могу ли я) что-то с этим сделать? », ответ: Нет. Вы должны думать о дополнительной строке меню как о« дополнительной », как она называется, дополнительном удобстве.Если вы действительно хотите использовать этот элемент пользовательского интерфейса, вы делаете это, предоставляя элемент, который не содержит команд, критически важных для контроля пользователя над вашим приложением.Скорее, вы должны предоставить те, к которым можно получить доступ из других мест в вашем приложении.

...