我想使用Swift在UITextView中的当前光标位置添加(一些预定义的)文本。因此,如果我有一个名为txtField的UITextField,其中包含一些文本,例如"这是一个美丽的山谷"然后点击" a"之间的区域和#34;美丽"这样光标现在位于" a"之间的空间中。和#34;美丽"然后在我的用户界面上单击一个按钮,输入一串文本,例如" very"将在光标位置键入,以便UITextView中的文本现在变为"这是一个非常美丽的山谷"。在此操作结束时(按钮点击事件之后),我将光标放在单词" very"之后。非常感谢您的帮助。我可以在论坛上看到一些类似主题的问题,但答案是在目标C中。我自杀就像使用Swift一样帮助。
答案 0 :(得分:2)
试试这个
textView.replaceRange(textView.selectedTextRange!, withText: "your text")
答案 1 :(得分:1)
试试这个...在你的按钮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)
}
}
答案 2 :(得分:0)
更新:
Swift 5.2
let txt = "whatever you want"
if let range = myTextView.selectedTextRange {
if range.start == range.end {
myTextView.replace(range, withText: txt)
}