Как бы я сделал перетаскиваемый значок Menubar для Mac OS X - PullRequest
4 голосов
/ 25 января 2009

Я пишу значок меню для разрабатываемого приложения. Однако в классе NSStatusBar нет метода, который позволял бы перетаскивать значок с помощью cmd + перетаскивания левой кнопкой мыши.

Как сделать так, чтобы иконка меню перетаскивалась с помощью кода Objective-C?

Спасибо:)

1 Ответ

10 голосов
/ 25 января 2009

В настоящее время вы не можете сделать это с помощью NSStatusBar. NSMenuExtra будет вести себя так, как вы хотите, но, к сожалению, он не является частью общедоступного API-интерфейса Cocoa, и, насколько я понимаю (я сам не использовал его), нужно немного взломать, чтобы заставить его работать. Также NSStatusBar будет легче интегрировать в существующее приложение, NSMenuExtra - это скорее отдельный пакет, загружаемый системой.

По моему мнению, не стоит полагаться на частные API-интерфейсы для добавления основных функций, подобных этой, в ваше приложение. Я бы придерживался NSStatusBar, большинство пользователей будут привыкать к поведению других приложений, и в любом случае будущая версия Mac OS X позволит перетаскивать значок так же, как работает NSMenuExtra.

...