NSApplication mainMenu возвращает ноль

проблема в том, что я не могу программно добавить меню в свое приложение!

вот где я:

в приложении делегата applicationDidFinishLaunching:

создать окно и сделать ключ и заказать фасад.

РЕДАКТИРОВАТЬ :( здесь, если я регистрирую [NSApplication sharedApplication] .mainMenu печатает (null)) в любом случае ...

создать объект NSMenu и [[NSApplication sharedApplication] setMainMenu: myMenu] также попробовал [[NSApplication sharedApplication] setMenu: myMenu]

построить / запустить

меню нет!

РЕДАКТИРОВАТЬ2: (если все еще не понял :)

создайте приложение OSX, удалите объект меню, запустите, вы все равно увидите там меню с именем вашего приложения, вы щелкнете по нему, оно станет синим, но без подменю, теперь как мне получить указатель на это!


person Community    schedule 30.07.2013    source источник


Ответы (1)


Вы не сможете этого сделать, поскольку меню OSX соответствуют раскладке Aqua. Есть ли причина, по которой вы бы удалили его полностью?

Вероятно, это будет кошмар по нескольким причинам:

1) В стандартном «Aqua Menu» у вас есть такие меню, как «Services», которые обрабатываются системой, а не приложением. 2) Apple подробно описывает свои руководства по дизайну, а меню не упоминается, и я ОЧЕНЬ сомневаюсь, что Apple хотела бы, чтобы вы изменили макет Aqua.

Я помню, как однажды наткнулся на дискуссию, в которой упоминалось setAppleMenu и т. Д., Но это было еще во времена Tiger (я думаю).

edit, вы не сможете получить указатель '; к нему с использованием Документированных API, он управляется системой, а не приложением, т.е. соответствует требованиям Aqua.

Лично я бы удалил все menuItems, которые можно изменить в изолированном приложении, то есть в User Land, и сам добавил / удалил различные menuItems.

person Adrian Sluyters    schedule 31.07.2013