Ios 如何在UIMenuController的指定位置添加自定义menuItem?

Ios 如何在UIMenuController的指定位置添加自定义menuItem?,ios,swift,uimenucontroller,Ios,Swift,Uimenucontroller,UIMenuController中有五个默认菜单项:剪切、复制、粘贴、查找、共享。。。我想在菜单“粘贴”和“查找”之间添加一个自定义菜单项“粘贴和搜索”。您可以通过禁用系统菜单并使用UIMenuController创建自己的菜单来完成此操作 开始对视图进行子类化,如UIWebView或UItextView,UIScrollView,…等,并验证此方法覆盖函数的性能(uu操作:选择器,带sender sender:Any?以禁用系统菜单项 像这样-UIWebView示例 然后开始创建自己的菜单,并

UIMenuController中有五个默认菜单项:剪切、复制、粘贴、查找、共享。。。我想在菜单“粘贴”和“查找”之间添加一个自定义菜单项“粘贴和搜索”。

您可以通过禁用系统菜单并使用
UIMenuController创建自己的菜单来完成此操作

开始对视图进行子类化,如
UIWebView
UItextView
UIScrollView
,…等,并验证此方法
覆盖函数的性能(uu操作:选择器,带sender sender:Any?
以禁用系统菜单项

像这样-UIWebView示例

然后开始创建自己的菜单,并实现其功能复制粘贴,

class  ViewController: UIViewController{

    @IBOutlet var webView: CustomWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        self.webView.loadHTMLString("<p>Hello, world!</p>", baseURL: nil)
        enableCustomMenu()
    }



    func enableCustomMenu() {
        let cut = UIMenuItem(title: "Cut", action: #selector(runCut))
        let copy = UIMenuItem(title: "Copy", action: #selector(runCopy))
        let paste = UIMenuItem(title: "Paste", action: #selector(runPaste))
        let pasteSearch = UIMenuItem(title: "Paste and Search", action: #selector(runPasteSearch))
        let look = UIMenuItem(title: "Look Up", action: #selector(runLook))

   //  ----> here Arrange as you can
        UIMenuController.shared.menuItems = [cut,copy,paste,pasteSearch,look]
    }

    func disableCustomMenu() {
        UIMenuController.shared.menuItems = nil
    }

    @objc func runCut() {
    }
    @objc func runCopy() {
        let text = webView.stringByEvaluatingJavaScript(from: "window.getSelection().toString();")
        print(text ?? "")
    }
    @objc func runPaste() {

    }
    @objc func runPasteSearch() {

    }
    @objc func runLook() {

    }
}
类ViewController:UIViewController{
@IBOutlet var webView:CustomWebView!
重写func viewDidLoad(){
super.viewDidLoad()
self.webView.loadHTMLString(“你好,世界!

”,baseURL:nil) 启用自定义菜单() } func enableCustomMenu(){ let cut=UIMenuItem(标题:“cut”,动作:#选择器(runCut)) let copy=UIMenuItem(标题:“复制”,操作:#选择器(运行复制)) let paste=UIMenuItem(标题:“粘贴”,操作:#选择器(运行粘贴)) 让pasteSearch=UIMenuItem(标题:“粘贴和搜索”,操作:#选择器(运行pasteSearch)) let look=UIMenuItem(标题:“查找”,操作:#选择器(runLook)) //----->在这里尽你所能安排 UIMenuController.shared.menuItems=[剪切、复制、粘贴、粘贴搜索、查看] } func disableCustomMenu(){ UIMenuController.shared.menuItems=nil } @objc func runCut(){ } @objc func运行副本(){ 让text=webView.stringByEvaluatingJavaScript(from:“window.getSelection().toString();”) 打印(文本??“”) } @objc func runPaste(){ } @objc func runPasteSearch(){ } @objc func runLook(){ } }
您是否将用于WebView如何为外观添加自定义操作?
class  ViewController: UIViewController{

    @IBOutlet var webView: CustomWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        self.webView.loadHTMLString("<p>Hello, world!</p>", baseURL: nil)
        enableCustomMenu()
    }



    func enableCustomMenu() {
        let cut = UIMenuItem(title: "Cut", action: #selector(runCut))
        let copy = UIMenuItem(title: "Copy", action: #selector(runCopy))
        let paste = UIMenuItem(title: "Paste", action: #selector(runPaste))
        let pasteSearch = UIMenuItem(title: "Paste and Search", action: #selector(runPasteSearch))
        let look = UIMenuItem(title: "Look Up", action: #selector(runLook))

   //  ----> here Arrange as you can
        UIMenuController.shared.menuItems = [cut,copy,paste,pasteSearch,look]
    }

    func disableCustomMenu() {
        UIMenuController.shared.menuItems = nil
    }

    @objc func runCut() {
    }
    @objc func runCopy() {
        let text = webView.stringByEvaluatingJavaScript(from: "window.getSelection().toString();")
        print(text ?? "")
    }
    @objc func runPaste() {

    }
    @objc func runPasteSearch() {

    }
    @objc func runLook() {

    }
}