美文网首页
Swift-原生MENU控制器

Swift-原生MENU控制器

作者: 查理布朗Bio | 来源:发表于2023-03-01 15:15 被阅读0次

    前言

    • 默认UIView继承了UIResponse类,通过该类创建UIMenuController可快捷的实现复制、删除、粘贴等功能;
    • 可实现的按钮类型包括 剪切、复制、粘贴、选择等,具体可以查看UIKit内的UIResponder.h文件;
    重写属性与方法
    class CustomView: UIView {
        // 使视图具有响应性
        override var canBecomeFirstResponder: Bool { true }
    
        override func copy(_ sender: Any?) {
            // 复制
        }
    
        override func paste(_ sender: Any?) {
            // 粘贴
        }
    
        override func select(_ sender: Any?) {
            // 选择
        }
    
        override func delete(_ sender: Any?) {
            // 删除
        }
    }
    
    添加手势事件
    extension CustomView {
        func setupMenu() {
            let gesture = UILongPressGestureRecognizer(target: self, action: #selector(longPressAction(_:)))
            addGestureRecognizer(gesture)
        }
    
        @objc func longPressAction(_ sender: UILongPressGestureRecognizer) {
            if sender.state == .began {
                becomeFirstResponder()
                let menu = UIMenuController.shared
                menu.setTargetRect(视图.bounds, in: 视图)
                menu.setMenuVisible(true, animated: true)
            }
        }
    }
    

    至此就完成了MENU的设置

    相关文章

      网友评论

          本文标题:Swift-原生MENU控制器

          本文链接:https://www.haomeiwen.com/subject/oibrldtx.html