我要删除UIMenuController项。
我尝试了这个。
override func viewDidLoad() {
super.viewDidLoad()
...
UIMenuController.shared.isMenuVisible = false
}
override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
return false
}
但是结果总是一样的。如何删除UIMenuItem?
我只需要“复制”按钮。我该怎么办?
答案 0 :(得分:1)
您可以使用操作创建自定义菜单项,并通过以下代码将其分配给UIMenuViewController:
let menuCustom1 = UIMenuItem(title: "Custom 1", action: #selector(<MethodName>))
let menuCustom2 = UIMenuItem(title: "Custom 2", action: #selector(<MethodName>))
let menuCustom3 = UIMenuItem(title: "Custom 3", action: #selector(<MethodName>))
UIMenuController.shared.isMenuVisible = true
UIMenuController.shared.menuItems = [menuCustom1, menuCustom2, menuCustom3]
UIMenuController.shared.update()
输出:
我希望这会对您有所帮助。
答案 1 :(得分:1)
要在swift4中删除UIMenuController项,
class DNGWebView: WKWebView {
override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
return false
}
}
作为Peter Stuart said:将显示菜单的视图(例如UITextView)子类化
然后override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool
为不想显示的菜单项返回false。
为了直观地说明它:
import WebKit
class DNGWebView: WKWebView {
override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
if action == #selector(copy(_:)){
return true
}
else{
return false
}
}
}