2016-03-09 9 views
1

Я хотел бы добавить (некоторый предопределенный) текст в текущую позицию курсора в UITextView с помощью Swift. Поэтому, если у меня есть UITextField с именем txtField, в котором уже есть текст, например «это красивая долина», и я коснусь области между «a» и «beautiful», чтобы теперь курсор находился в промежутке между «a »и« красивый », а затем нажмите кнопку« Я »на моем пользовательском интерфейсе, строка текста, такая как« очень », будет введена в позицию курсора, так что текст в UITextView теперь станет« это очень красивая долина ». В конце этой операции (после события нажатия кнопки) я должен был бы сразу после слова «очень». Большое спасибо за вашу помощь. Я могу видеть какой-то вопрос на форуме с похожими темами, но ответы есть в Objective C. Я самоубийству, как помощь с помощью Swift.Как программно ввести текст в UITextView в текущей позиции курсора

+0

Что вы пробовали? – Lee

ответ

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) 
    } 
} 
+0

Большое спасибо. Очень ценится. Это сработало отлично. –

1

попробовать это

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