Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 自定义键盘控制光标_Ios_Swift_Ios App Extension_Custom Keyboard - Fatal编程技术网

Ios 自定义键盘控制光标

Ios 自定义键盘控制光标,ios,swift,ios-app-extension,custom-keyboard,Ios,Swift,Ios App Extension,Custom Keyboard,今天我接受了一项挑战,创建了一个自定义的iOS键盘,可以反转输入字符串并将其显示在textview上。 输入: 你好 输出: !wolfrevOkcats olleH 我尝试将按钮标题存储到[NSString]数组中,并使用reverse()函数将其显示在textview上 这是我的代码: @IBAction func keyboardBtnPressed(sender: AnyObject) { let button = sender as! UIButton //ide

今天我接受了一项挑战,创建了一个自定义的iOS键盘,可以反转输入字符串并将其显示在textview上。

输入
你好

输出
!wolfrevOkcats olleH

我尝试将按钮标题存储到
[NSString]
数组中,并使用
reverse()
函数将其显示在textview上

这是我的代码:

  @IBAction func keyboardBtnPressed(sender: AnyObject) {

    let button = sender as! UIButton
    //identify the button title
    let buttonTitle = button.titleForState(.Normal)

    //letters and string are [NSString]() arrays.

    if let currentTitle = buttonTitle{
    switch currentTitle {
    case "Space":
    //if user pressed space bar, then display the result on the screen
        for letter in self.letters {
            (textDocumentProxy as! UIKeyInput).insertText(letter as String)
            letters.removeAll(keepCapacity: false)
            self.string.removeAll(keepCapacity: false)
        }
        (textDocumentProxy as! UIKeyInput).insertText(" ")
    default:
       //else append the letters to the array
        string.append(currentTitle)
        self.letters = self.string.reverse()

        }
    }

}
输出: 哎哟!wolfrevOkcats

与:
不同!wolfrevOkcats olleH


自定义键盘是否可以控制光标,因此它不是从
左向右
移动,而是从
右向左

在做了一些研究之后,我发现我可以编辑
Info.plist
文件,并在
PrefersRightToLeft
字典中更改bool值。
这是不允许的

还有更好的办法吗?
谢谢。

\u textField.transform=CGAffineTransformMakeScale(-1.0,1.0)它实际上也反映了字母,但它是一个非常轻松、快速的解决方案–也许它能满足您的期望。
\u textField.transform=cgaffinetranformmakescale(-1.0,1.0)它实际上也反映了字母,但它是一个非常轻松和快速的解决方案-也许它可以满足您的期望。