对于iOS 8中的自定义键盘,如何使用长按删除整个单词?

对于iOS 8中的自定义键盘,如何使用长按删除整个单词?,ios,swift,custom-keyboard,Ios,Swift,Custom Keyboard,正如我们所知,iOS中的原始键盘可以通过按住delete按钮来删除整个单词(⌫) 延长一段时间。 那么,我们如何在Swift、iOS 8中为定制键盘使用相同的功能呢 注: 我目前正在使用proxy.deleteBackward()删除字母,并使用: var gesture = UILongPressGestureRecognizer(target: self, action: "longPressed:") gesture.minimumPressDuration = 1.0 button.ad

正如我们所知,iOS中的原始键盘可以通过按住delete按钮来删除整个单词(⌫) 延长一段时间。
那么,我们如何在Swift、iOS 8中为定制键盘使用相同的功能呢

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

var gesture = UILongPressGestureRecognizer(target: self, action: "longPressed:")
gesture.minimumPressDuration = 1.0
button.addGestureRecognizer(gesture)
当按下按钮的时间较长时


谢谢!

我不确定您如何通过手势识别器完成此操作

最初的键盘行为是

  • 当按下按钮并在初始X时间内保持按下状态时 间隔,它会不断向后删除
  • 当按钮保持不变时 在初始X时间间隔后按下,它开始删除单词 而不仅仅是角色
在第一次按下按钮后,您可能应该继续调用delete函数,并注意“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 */
    }
}
var startTime:NSDate=NSDate()
变量计时器:NSTimer?
按下func deleteButton(deleteButton:UIButton){
startTime=NSDate()
timer=NSTimer.scheduledTimerWithTimeInterval(0.4,目标:self,选择器:选择器(“删除”),userInfo:nil,repeats:true)
}
func delete(){
如果!deleteButton.highted{
timer.invalidate()
计时器=零
返回
}
if((currentNSDate-startTime)<“X时间间隔”){
//向后删除
}否则{
/*找出文本中的最后一个空格字符并创建NSRange
然后
mytextView.text DeleteCharactersRange:theRange
设置新文本*/
}
}

但我正在尝试构建一个自定义键盘扩展,该扩展可以在其他应用程序(整个系统)中使用。
mytextView.text DeleteCharactersRange:theRange
如何工作?DeleteCharactersRange是一个文本函数。因此它应该可以工作。如果键盘普遍工作,它应该知道它正在编辑哪个文本字段/文本视图。