Ast*_*tin 3 macos nsmenu nsmenuitem swift
我没有使用storyboard和xib,只使用了代码. 我想以编程方式添加"编辑"菜单.我的问题是
1)如何显示"编辑"菜单/在评论问题1中需要输入什么代码?
2)从复制和粘贴等快速提供的任何操作?
class TestManager: NSObject {
// ....
override init() {
let editMenuItems = [
NSMenuItem(title: "Cut", action: nil(/* Question 2) */), keyEquivalent: ""),
NSMenuItem(title: "Copy", action: nil, keyEquivalent: ""),
NSMenuItem(title: "Paste", action: nil, keyEquivalent: ""),
]
for editMenuItem in editMenuItems {
self.editMenu.addItem(editMenuItem)
}
// Qustion 1) .. show "Edit" Menu
}
}
Run Code Online (Sandbox Code Playgroud)
你没有显示self.editMenu来自哪里.
在任何情况下,您都需要mainMenu从NSApplication实例中获取并将菜单项添加到以菜单作为子菜单的菜单项.所以,像:
var editMenuItem = NSMenuItem()
editMenuItem.title = "Edit"
var mainMenu = NSMenu()
mainMenu.addItem(editMenuItem)
mainMenu.setSubmenu(self.editMenu, forItem:editMenuItem)
NSApplication.sharedApplication().mainMenu = mainMenu
Run Code Online (Sandbox Code Playgroud)
我不在Swift工作,因此可能存在一些错误.
至于用于编辑菜单项的操作选择器,最简单的方法是创建一个主菜单NIB来检查它.查看用于现成"编辑"菜单的菜单项的操作选择器.例如,您会发现"复制"项目使用copy:选择器.这可以在Swift中表示为一个字符串,"copy:".
| 归档时间: |
|
| 查看次数: |
6882 次 |
| 最近记录: |