【发布时间】:2018-01-20 16:55:21
【问题描述】:
我正在尝试从 UIMenuController 中删除项目 Look Up 和 Share...。我将如何专门删除这两个并保留我的自定义一个。这是我到目前为止所取得的成就:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// add two custom menu items to the context menu of UIWebView (assuming in contenteditable mode)
let menuItem1 = UIMenuItem(title: "My Button", action: #selector(myButtonSel))
UIMenuController.shared.menuItems = [menuItem1]
}
这是我拥有的 canPerformAction:
override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
//let shareSelector: Selector = NSSelectorFromString("_share:")
if webView?.superview != nil {
if action == #selector(myButtonSel){
return true
}
}
return super.canPerformAction(action, withSender: sender)
}
还有一些奇怪的原因,当我尝试删除所有默认项并只保留我的自定义项时,它不起作用。这是我为此尝试的代码:
override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
//let shareSelector: Selector = NSSelectorFromString("_share:")
if webView?.superview != nil {
if action == #selector(myButtonSel){
return true
}
else {
return false
}
}
return super.canPerformAction(action, withSender: sender)
}
即使我尝试删除所有其他项目并保留我的习惯,我也无法这样做。我所能做的就是添加我的自定义项目。
【问题讨论】:
-
您是否收到 SIGBART 错误?在这种情况下,请检查右侧菜单中的“连接检查器”选项卡?如果您看到一些您从故事板或代码中删除的名称,但它们仍然存在 - 您应该从 Connections Inspector 中删除主题。
-
@KuboAndTwoStrings 不,我没有收到任何错误,我的自定义菜单有效,但我似乎无法删除 UIMenuController 项目。每当我尝试删除它们时,代码都会被忽略。
标签: ios swift uimenucontroller uimenuitem