如何在当前光标位置编程式输入文本到UITextView中

3
我想使用Swift在UITextView中的当前光标位置添加(一些预定义的)文本。因此,如果我有一个名为txtField的UITextField,并且它已经有一些文本,例如“this is a beautiful valley”,并且我点击“a”和“beautiful”之间的区域以使光标现在在“a”和“beautiful”之间的空格中,然后在用户界面上单击一个按钮,一个文本字符串,例如“very”将在光标位置键入,以便UITextView中的文本现在变为“this is a very beautiful valley”。在此操作结束后(在按钮单击事件之后),我希望光标位于“very”单词之后。非常感谢你的帮助。我看到论坛上有一些类似主题的问题,但答案是用Objective C编写的。我希望能得到使用Swift的帮助。

你目前尝试了什么? - Lee
3个回答

2

试一试

textView.replaceRange(textView.selectedTextRange!, withText: "your text")

2

尝试这样做...在你的按钮的IBAction中使用这个代码(请不要使用强制可选解包),否则如果textView没有选择或光标,应用可能会崩溃:

let txt = "whatever you want"
if let range = handleToYourTextView.selectedTextRange {
   // From your question I assume that you do not want to replace a selection, only insert some text where the cursor is.
   if range.start == range.end {
      handleToYourTextView.replaceRange(range, withText: txt)
   }
}

非常感谢。非常感激。这个完美地运行了。 - Faheem Ahmad

0
更新:

Swift 5.2

    let txt = "whatever you want"
    if let range = myTextView.selectedTextRange {
       if range.start == range.end {
        myTextView.replace(range, withText: txt)
       }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接