[英]Programmatically creating the OS X “Services” menu
我正在開發一個不使用NIB文件的跨平台應用程序,並試圖弄清楚如何創建標准OS X“服務”菜單(大多數應用程序中應用程序菜單的子菜單)。
查看標准Cocoa應用程序的nib文件,服務菜單的定義如下:
<menuItem title="Services" id="NMo-om-nkz">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
</menuItem>
顯然,使它起作用的是systemMenu="services"
但是我看不到如何以編程方式創建這樣的NSMenu項-NSMenu上沒有“ systemMenu”屬性。
這里發生了什么魔術?
供將來參考,基於@catlan的答案,這里有一些代碼...
// Create the services menu
NSApp.servicesMenu = [[NSMenu alloc] init];
// Create menu item for it
NSMenuItem* servicesItem = [[NSMenuItem alloc] init];
servicesItem.title = @"Services";
servicesItem.submenu = NSApp.servicesMenu;
// Add it to the app menu
NSMenu* appMenu = [[NSApp mainMenu] itemAtIndex:0].submenu;
[appMenu addItem:servicesItem];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.