2012-06-30 2 views
1

Я создаю приложение, в котором есть «горячие клавиши», и когда вы нажимаете горячую клавишу, он должен вставить чартер в том месте, где вы печатаете. Я использую UITextView с редактированием.Вставить строку в местоположение Цель C

enter image description here То, что я хочу сделать, это вставить текст прямо после синего курсора.
Возможно ли это?

+0

Какие классы вы используете для хранения/редактирования текста ? – trojanfoe

+0

См. Edit ... 'UITextView' с включенным разрешением – Sirens

ответ

2

Вы хотите использовать insertText: метод UITextView, который объявлен в реализации протокола UIKeyInput (который является супер-протокол UITextInput, которые UITextView орудия.)

+0

Немного о * how * для этого? – Sirens

+0

Вы просто вызываете 'insertText:' с символом, который хотите вставить на свой экземпляр 'UITextView'; Я не думаю, что есть что сказать. –

+0

Одна линия? Настолько лучше и легче. – Sirens

0

Вы можете получить место из курсор с помощью

int position = txtView.selectedRange.location; 

Затем вам нужно будет получить строку с точки зрения текста и вставить свой собственный струнный

NSMutableString *str = [txtView.text mutableCopy]; 
[str insertString:@"YourString" atIndex:position]; 
txtView.text = str; 

Это может прокрутить вид текста и потерять текущий курсор, если вы не хотите потерять ее, вам нужно будет создать подкласс UITextView и сделать некоторую работу внутри DrawRect

+0

Подкласс? Если я прошу слишком много, вы можете просто указать мне ссылку на документацию. – Sirens

+0

вот демонстрация о том, как это сделать http://miphol.com/muse/2009/05/subclassing-uitextview.html –

+0

приветствуется :) –

Смежные вопросы