如何设置移动键盘光标的滑动手势?

Posted

技术标签:

【中文标题】如何设置移动键盘光标的滑动手势?【英文标题】:How would I set up a swipe gesture that moves the keyboard curser? 【发布时间】:2016-06-22 19:52:08 【问题描述】:

我目前正在制作 ios 键盘扩展。现在我正在尝试设置它,以便当我在空格键上滑动时光标会移动,但我遇到了一些麻烦。理想情况下,当向左滑动时,光标将向左移动,而向右滑动则相反。滑动时光标速度应与滑动速度成正比(快速滑动意味着快速移动光标)。

我知道移动光标的代码是什么:

adjustTextPositionByCharacterOffset(x)

当 x 为正数时,它向前移动 x 个字符,当它为负数时,它向后移动 x 个字符。

我曾尝试使用平移手势和长按手势识别器,但无法获得正确的行为。

【问题讨论】:

【参考方案1】:

我能够通过使用平移手势识别器并将其与平移手势返回的最后一个 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)

【讨论】:

以上是关于如何设置移动键盘光标的滑动手势?的主要内容,如果未能解决你的问题,请参考以下文章

如何实现C语言中用键盘控制光标移动?

移动端,由页面定位的滚动区域引起光标可以跟页面滑动

如何使用外部键盘在屏幕键盘中移动光标?

苹果Mac鼠标光标丢失如何找回?

css怎么设置鼠标手势

UITextField 光标和键盘问题