Как это настроено сейчас, у меня есть два UITextViews внутри UIScrollView.Дело в том, что сами UITextViews не прокручиваются, они просто увеличиваются (их размер содержимого) по мере добавления текста.UIScrollView обрабатывает всю прокрутку вверх и вниз представления независимо от объема текста (например, аналогично Mail.app, где представление темы находится над представлением сообщения и т. Д.).Тем не менее, я столкнулся с проблемой сейчас.Когда я программно добавляю текст в свой UITextView (в этом коде bodyText), UIScrollView по какой-то причине автоматически прокручивается вниз.
Чтобы добавить текст, который я просто делаю:
NSRange selectedRange = [bodyText selectedRange];
NSString *selectedText = [bodyText.text substringWithRange:selectedRange];
bodyText.text = [bodyText.text stringByReplacingCharactersInRange:selectedRange withString:[NSString stringWithFormat:@"<b>%@</b>", selectedText]];
Так, например, если бы у меня было 2000 пикселей текста по вертикали, и в настоящее время он был прокручен до позиции 400, а затем добавил текст где-то там, UIScrollView опустился бы до 2000.
Я пыталсячтобы остановить его с помощью создания подкласса UISCrollView и переопределения -setContentOffset, но это затем останавливает всю прокрутку.
Мой вопрос: почему он вообще прокручивается до самого дна?Текст добавляется, когда пользователь нажимает кнопку в другом месте экрана, и прокрутка не имеет никакого отношения к перетаскиванию пальцев или чему-либо еще.