Den*_*Vog 13 macos cocoa menu menuitem submenu
如何在Mac应用程序中添加"共享"子菜单?一个例子是Safari>文件>共享.我戳了Apple SharingServices示例代码,但它没有包含工作菜单项.

现在我有一个按钮,在点击时显示可用共享服务的选择器:
NSMutableArray *shareItems = [NSMutableArray arrayWithObject:[self.noteSynopsisView string]];
NSSharingServicePicker *sharingServicePicker = [[NSSharingServicePicker alloc] initWithItems:shareItems];
sharingServicePicker.delegate = self;
[sharingServicePicker showRelativeToRect:[self.shareButton bounds] ofView:self.shareButton preferredEdge:NSMaxYEdge];
Run Code Online (Sandbox Code Playgroud)
我还在MainWindow.xib的File菜单下定义了一个Share子菜单项.
据我了解,NSSharingService列表正在动态生成.所以我不能真正预定义我在Interface Builder中创建的菜单项的服务.
谢谢你的帮助.
Mel*_*Mel 16
看看NSSharingService的+ sharingServicesForItems:.在-validateMenuItem:方法中,您可以使用它返回的NSSharingServices的-title和-image创建子菜单.将每个服务与每个菜单项相关联,并将每个菜单项的操作指向:
- (IBAction)shareFromService:(id)sender {
[[sender representedObject] performWithItems: arrayOfItemsToShare];
}
Run Code Online (Sandbox Code Playgroud)
这真的很简单.Apple在这方面做得很好.
| 归档时间: |
|
| 查看次数: |
2472 次 |
| 最近记录: |