快速快速按下自定义键盘的Delete键

Per*_*lue 1 ios swift custom-keyboard

我正在制作自定义键盘。键盘上的Delete键可以很好地单击。但是长按不起作用。我想对删除键进行长按,以便在用户按住Delete键时,键盘像标准ios键盘一样连续删除。我提到一对夫妇#2的解决方案,喜欢- /sf/answers/1836441351//sf/answers/1794331941/https://stackoverflow.com/a/ 30711421/6077720

但这对我没有用。我也尝试了这段代码:

  override func viewDidLoad() {
    super.viewDidLoad()
    textDocument = self.textDocumentProxy

    var longPress = UILongPressGestureRecognizer(target: self, action: #selector(self.longPress))
    self.deleteKeyPressed.addGestureRecognizer(longPress)
}

func longPress(gesture: UILongPressGestureRecognizer) {
    if gesture.state == .Ended {
        print("Long Press")
        self.textDocumentProxy.deleteBackward()

    }
}
Run Code Online (Sandbox Code Playgroud)

但是在编写此代码后,我的键盘不会仅出现。谁能帮帮我吗?

aat*_*lyk 6

在下面尝试此代码

var timer: NSTimer?

override func viewDidLoad() {
   super.viewDidLoad()
   textDocument = self.textDocumentProxy

   var longPressRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(KeyboardViewController.longPressHandler(_:)))

   eraseButton.addGestureRecognizer(longPressRecognizer)
}

func longPressHandler(gesture: UILongPressGestureRecognizer) {
    if gesture.state == .Began {
        timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: #selector(KeyboardViewController.handleTimer(_:)), userInfo: nil, repeats: true)
    } else if gesture.state == .Ended || gesture.state == .Cancelled {
        timer?.invalidate()
        timer = nil
    }
}

func handleTimer(timer: NSTimer) {
    self.deleteText()
}
Run Code Online (Sandbox Code Playgroud)