对于iOS 8中的自定义键盘,如何使用长按删除整个单词?
正如我们所知,iOS中的原始键盘可以通过按住delete按钮来删除整个单词(⌫) 延长一段时间。对于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
那么,我们如何在Swift、iOS 8中为定制键盘使用相同的功能呢 注:
我目前正在使用
proxy.deleteBackward()
删除字母,并使用:
var gesture = UILongPressGestureRecognizer(target: self, action: "longPressed:")
gesture.minimumPressDuration = 1.0
button.addGestureRecognizer(gesture)
当按下按钮的时间较长时
谢谢!我不确定您如何通过手势识别器完成此操作 最初的键盘行为是
- 当按下按钮并在初始X时间内保持按下状态时 间隔,它会不断向后删除
- 当按钮保持不变时 在初始X时间间隔后按下,它开始删除单词 而不仅仅是角色
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是一个文本函数。因此它应该可以工作。如果键盘普遍工作,它应该知道它正在编辑哪个文本字段/文本视图。