您可以覆盖 AppDelegate 中的 buildMenu 函数并从那里操作菜单栏。这将在不需要 Catalyst 环境检查的情况下工作。
override func buildMenu(with builder: UIMenuBuilder) {
super.buildMenu(with: builder)
builder.remove(menu: .services)
builder.remove(menu: .format)
builder.remove(menu: .toolbar)
builder.insertChild(newTask(), atStartOfMenu: .file)
builder.insertSibling(logout(), afterMenu: .about)
builder.insertSibling(preferences(), afterMenu: .about)
}
输入键示例:
func newTask() -> UIMenu {
let command = UIKeyCommand(input: "n", modifierFlags: [.command], action: #selector(onNewTask))
command.title = "Menu_Title_New_Task".localized()
command.discoverabilityTitle = command.title
return UIMenu(title: command.title, image: nil, identifier: "your_identifier_here", options: .displayInline, children: [command])
}