我们如何使用长按删除整个单词,在iOS 8自定义键盘?

我们知道,iOS中的原始键盘可以通过长时间按住删除button(⌫)来删除整个单词。
那么我们怎样才能在Swift,iOS 8中使用自定义键盘的相​​同function呢?

注意:
我正在使用proxy.deleteBackward()删除字母,并使用:

 var gesture = UILongPressGestureRecognizer(target: self, action: "longPressed:") gesture.minimumPressDuration = 1.0 button.addGestureRecognizer(gesture) 

当button被按下更多的时间。

谢谢!

我不知道你将如何通过手势识别器来做到这一点。

原来的键盘行为是,

  • 当按下button并保持按下初始X-时间间隔时,它将继续向后删除。
  • 在最初的X时间间隔后按住button时,它将开始删除单词而不是仅字符。

在第一次按下button之后,如果“X-time-interval”已经过去,你应该继续调用你的删除函数并且注意。 伪代码将是

 var startTime: NSDate = NSDate() var timer: NSTimer? func deleteButtonPressed(deleteButton: UIButton) { startTime = NSDate() timer = NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: Selector("delete"), userInfo: nil, repeats: true) } func delete() { if !deleteButton.highlighted { timer.invalidate() timer = nil return } if ((currentNSDate - startTime ) < "X-time-Interval") { // delete backward } else { /* figure out last space character in text and create NSRange then mytextView.text deleteCharactersInRange:theRange set new text */ } }