Ответ 1
UITextView не имеет свойства длины. Следующий код работает хорошо для моей среды.
[TextView scrollRangeToVisible:NSMakeRange([TextView.text length], 0)];
До этого я использовал этот метод....
//TextView is a UITextView
[TextView scrollRangeToVisible:NSMakeRange([TextView length], 0)];
... который программно прокручивается до конца UITextView, но, похоже, он не работает в iOS 4.0. Есть ли способ программно прокручивать до конца UITextView без изменения прав на редактирование или вставки точки (где пользователь может нажать на UITextView и отобразить клавиатуру)?
Кроме того, мне нужно назначить владельца файла в качестве делегата? Это имеет значение?
UITextView не имеет свойства длины. Следующий код работает хорошо для моей среды.
[TextView scrollRangeToVisible:NSMakeRange([TextView.text length], 0)];
Ответ не помог мне, но после того, как вы будете использовать для TableView, он будет работать отлично. Просто убедитесь, что ваш UITextView называется textView.
if (textView.contentSize.height > textView.frame.size.height)
{
CGPoint offset = CGPointMake(0, textView.contentSize.height - textView.frame.size.height);
[self.textView setContentOffset:offset animated:YES];
}
В IOS8 вызов обеспеченияLayoutForTextContainer, похоже, заставляет это решение работать. Потребовал мне почти час, чтобы отслеживать это.
logObject.layoutManager.ensureLayoutForTextContainer(logObject.textContainer)
logObject.setContentOffset(CGPointMake(0.0, logObject.contentSize.height), animated:false)
Это сработало для меня:
[_myTextView.layoutManager ensureLayoutForTextContainer:_myTextView.textContainer];
[_myTextView scrollRangeToVisible:NSMakeRange([_myTextView.text length], 0)];
Это то, что я использую, отлично работает. Функция shouldScrollTextToBottom устанавливается вызывающим представлением (1 контроллер просмотра ниже в стеке вызовов)
(void)viewDidAppear:(BOOL)animated
{ // scroll to bottom if required
if(shouldScrollTextToBottom)
[txtMyTextView scrollRectToVisible:CGRectMake(0, 0, txtMyTextView.frame.size.width, txtMyTextView.frame.size.height * 6) animated:YES];
}
6 - произвольно большое число, которое должно быть кратным высоте UITextView. Я обнаружил, что со значением 5 мой взгляд не прокручивается до абсолютного дна.