我目前正在制作iOS键盘扩展程序。现在我正在设置它,以便当我在空格键上滑动光标移动但我遇到了一些麻烦。理想情况下,当向左滑动时,光标将向左移动,而右移向右移动。滑动光标时速度应与滑动速度成正比(快速滑动意味着快速移动光标)。
我知道移动光标的代码是:
adjustTextPositionByCharacterOffset(x)的
当x为正时,它向前移动x个字符,当它为负数时,它向后移动x个字符。
我曾尝试使用平移手势和长时间持有手势识别器,但我无法让它给出正确的行为。
答案 0 :(得分:0)
我能够通过使用平移手势识别器并将其与平移手势返回的最后x值进行比较来解决此问题。
@IBAction func spacePanGesture(sender: UIPanGestureRecognizer) {
let translation = sender.translationInView(self.view) //Get translation
if Int(translation.x) > swipeLastTouchX {
//If the new translation is higher than the last, move the cursor
proxy.adjustTextPositionByCharacterOffset(user.swipeSensitivity.rawValue)
} else if Int(translation.x) <= swipeLastTouchX {
proxy.adjustTextPositionByCharacterOffset(-user.swipeSensitivity.rawValue)
}
swipeLastTouchX = Int(translation.x)
}