UITextView наследуется от UIScrollView, у которого есть свойство с именем scrollEnabled
Вы можете добавить зарегистрировать свой класс как UITextViewDelegate и реализовать метод
- (void)textViewDidChange:(UITextView *)textView
Затем из объекта textView
получите свойство text
и проверьте, сколько существует возвращений новой строки / каретки. Если их больше 5, установите scrollEnabled
на YES
UPDATE:
Взгляните на NSString UIKit Additions , в этом классе есть несколько методов, которые позволяют вам получить CGSize
вашего NSString
, в частности sizeWithFont:constrainedToSize:lineBreakMode:
Используя это, вы сможете включить прокрутку, как только CGSize
достигнет высоты, эквивалентной или превышающей 5 строк текста, рассчитанных по uifont.lineHeight*5