У меня 90% отработанной прокрутки, это всего лишь один случай, когда я не могу заставить его работать. Если textView.contentSize.height меньше, чем высота textView, но больше, чем пространство, видимое с клавиатурой вверх, невозможно вручную прокрутить желаемый контент в поле зрения, особенно если пользователь хочет вернуться и отредактировать одну из верхних строк. ,
Я использую следующее для позиционирования текста при наборе текста. Он автоматически держит курсор в поле зрения в конце текста, но также позволяет выполнять ручную прокрутку.
-(void)textViewDidChange:(UITextView *)textView {
NSRange range = textView.selectedRange;
if (range.location == textView.text.length)
{
int height = textView.contentSize.height;
if (height > 180)
{
[textView setContentOffset:CGPointMake(0, height -180)];
}
}
}
Чем я пользуюсь для позиционирования textView после завершения редактирования.
if (!editing) {
[notesText setContentOffset:CGPointMake(0, 0)];}