我試圖刪除的項目查找 & 分享......從UIMenuController。我將如何具體刪除這兩個並保留我的自定義之一。這裏是我到目前爲止已經取得的成就:如何刪除UIMenuController默認項在斯威夫特
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」選項卡?如果您看到一些從故事板或代碼中刪除的名稱,但它們仍然存在 - 則應從Connections Inspector中刪除主題。 – KuboAndTwoStrings
@KuboAndTwoStrings不,我沒有得到任何錯誤,我的自定義菜單的作品,但我似乎無法刪除UIMenuController項目。只要我嘗試刪除它們,代碼就會被忽略。 – MGames