我想使用 Swift 在 UITextView 的当前光标位置添加(一些预定义的)文本。因此,如果我有一个名为 txtField 的 UITextField,其中已经有一些文本,例如“这是一个美丽的山谷”,然后我点击“a”和“beautiful”之间的区域,以便光标现在位于“a”之间的空间中" 和 "beautiful" 然后在我的用户界面上单击一个按钮,会在光标位置键入诸如 "very" 之类的字符串,这样 UITextView 中的文本现在将变为 "这是一个非常美丽的山谷"。在此操作结束时(在按钮单击事件之后),我会将光标放在“非常”一词之后。非常感谢您的帮助。我可以在论坛上看到一些类似主题的问题,但答案在 Objective C 中。
1800 次
3 回答
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)
}
}
于 2016-03-09T10:13:50.817 回答
2
尝试这个
textView.replaceRange(textView.selectedTextRange!, withText: "your text")
于 2016-03-09T09:49:38.560 回答
0
更新:
斯威夫特 5.2
let txt = "whatever you want"
if let range = myTextView.selectedTextRange {
if range.start == range.end {
myTextView.replace(range, withText: txt)
}
于 2020-05-10T10:08:38.940 回答