Спасибо вам большое! Я получил так много помощи от stackoverflow. Я надеюсь, что смогу ответить на многие вопросы в будущем в ближайшее время!

рабатываю простое приложение для редактирования текста для iPad, используя UITextView. У меня всегда были некоторые проблемы с UIScrollView и UITextView. Я думаю, я просто ожидал слишком многого от этих двух.

Когда я устанавливаю myTextView.text на другой экземпляр NSString, прокрутка происходит автоматически. Я мог бы предотвратить эту прокрутку, установив

myTextView.scrollEnabled = NO;
myTextView.text = newText;
myTextView.scrollEnabled = YES;

Однако, если я изменил свойство selectedRange myTextView, прокрутка произошла.

В частности, если диапазон selectedRange имел место для текста на текущем экране, прокрутка не происходила.

Например, если я выделю весь текст, коснувшись свойства «Выбрать все», прокрутка не произойдет. Но если я выделю весь текст, установив selectedRange в NSMakeRange (0, [длина myTextView.text]), то произойдет прокрутка до конца (последняя позиция каретки).

Чтобы решить проблемы: 1) Я сохранил исходное смещение содержимого myTextView.

CGPoint originalOffset = myTextView.contentOffset;
// change myTextView.selectedRange here
myTextView.selectedRange = originalOffset

Но ничего не случилось.

2) Я вызвал вышеуказанные коды через несколько секунд, используя NSTimer, и прокрутка корректно вернулась в исходное положение (смещение). Однако сначала произошла прокрутка до конца, а затем до самого верха.

Есть ли способ полностью предотвратить прокрутку UITextView на мгновение?

Ответы на вопрос(1)

Ваш ответ на вопрос