Я реализовал простой накопитель drfat для UITextView
Я использую в приложении. Все работает отлично, но когда я получить этот проект, присвоить его UITextView
и установить selectedRange
(также некоторое сохраненное значение) Я получаю эту странно предупреждение:Настройка положения курсора UITextView генерирует предупреждение
requesting caretRectForPosition: with a position beyond the NSTextStorage (4)
Из вещей, которые я заметил .. . Это происходит только для строк, длина которых меньше 4 символов (это может дать некоторые подсказки, потому что 4 также появляется в предупреждающем сообщении).
Это может быть полезно ти опубликовать фактический код назначения, так вот она:
self.textView.text = savedDraft.text;
self.textView.selectedRange = NSMakeRange(savedDraft.cursorPosition, 0);
У вас есть какие-либо идеи, что может генерировать такого рода предупреждения? Я нашел here, что это может быть вызвано реализацией Swift UITextView
, но мы чисты Objective-C.
Update:
Когда я сохраняю я сохранить этот location
, как NSUInteger
и я получаю его от моего UITextView
как это:
self.textView.selectedRange.location
Так что, если вы считаете, простой «Привет «сообщение (два символа). Я получаю такие формы сохранения и извлечения журналов:
Get draft position: 0
Saving draft position: 2
Get draft position: 2
Попробуйте эту ссылку http://stackoverflow.com/questions/8891072/how-to- set-the-position-of-the-cursor-in-uitextview – Pushkraj
Какова ценность 'savedDraft.cursorPosition', когда она появляется? – Larme
Я думаю, что он должен быть сохраненDraft.text.cursorPosition – Pushkraj