首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式创建OS“服务”菜单

以编程方式创建OS“服务”菜单
EN

Stack Overflow用户
提问于 2017-05-17 05:36:44
回答 2查看 762关注 0票数 1

我正在开发一个不使用NIB文件的跨平台应用程序,并试图找出如何创建标准的OS“服务”菜单(大多数应用程序中的应用程序菜单的子菜单)。

查看标准Cocoa应用程序的nib文件,服务菜单定义如下:

代码语言:javascript
复制
<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“属性。

这里发生了什么魔法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-17 05:46:25

您可以在NSApplication上找到“服务”菜单。

代码语言:javascript
复制
-[NSApplication servicesMenu]

文档

票数 3
EN

Stack Overflow用户

发布于 2017-05-17 06:31:11

为了将来的参考,基于@catlan的回答这里有一些代码..。

代码语言:javascript
复制
// 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];
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44016409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档