微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

覆盖 UITextView 的 CMD + Z 键命令

如何解决覆盖 UITextView 的 CMD + Z 键命令

是否可以覆盖 UITextViewcmd + zcmd + shift + z 的处理?

我试过了

  • 覆盖 keyCommand 属性,但永远不会调用选择器..
  • 覆盖 undoManager,这也无济于事
class CustomTextView: UITextView {

    override var keyCommands: [UIKeyCommand]? {
       [
            // cmd + z (doesn't work)
            UIKeyCommand(input: "z",modifierFlags: [.command],action: #selector(undo)),// cmd + shift + z  (doesn't work)
            UIKeyCommand(input: "z",modifierFlags: [.command,.shift],action: #selector(redo)),// z (works)
            UIKeyCommand(input: "z",modifierFlags: [],action: #selector(z)),]
    }
     
    // this doesn't help   
    override var undoManager: UndoManager? { return nil }
        






    // undo
    @objc private func undo() {
        print("undo")
    }

    // redo
    @objc private func redo() {
        print("redo")
    }

    // z
    @objc private func z() {
        print("z")
    }   
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。