Я хотел бы добавить (некоторый предопределенный) текст в текущую позицию курсора в UITextView с помощью Swift. Итак, если у меня есть UITextField с именем txtField, в котором уже есть какой-то текст, например «это красивая долина», и я нажимаю на область между «а» и «красиво», так что курсор теперь находится в пространстве между «а». "и" красивый ", а затем нажмите кнопку в моем пользовательском интерфейсе. Строка текста, например" очень ", будет набрана в позиции курсора, так что текст в UITextView теперь станет" это очень красивая долина ". В конце этой операции (после события нажатия кнопки) я бы установил курсор сразу после слова «очень». Большое спасибо за вашу помощь. Я вижу на форуме некоторые вопросы с похожими темами, но ответы находятся в Objective C. Я самоубийца, как помощь, используя Swift.
Как программно ввести текст в UITextView в текущей позиции курсора
comment
Что вы пробовали до сих пор?
- person Lee   schedule 09.03.2016
Ответы (3)
Попробуйте это ... Внутри вашей кнопки 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)
}
}
person
Eppilo
schedule
09.03.2016
Большое спасибо. Очень ценится. Это сработало отлично.
- person Faheem Ahmad; 09.03.2016
попробуй это
textView.replaceRange(textView.selectedTextRange!, withText: "your text")
person
techloverr
schedule
09.03.2016
Обновить:
Swift 5.2
let txt = "whatever you want"
if let range = myTextView.selectedTextRange {
if range.start == range.end {
myTextView.replace(range, withText: txt)
}
person
Steve Robertson
schedule
10.05.2020