Включение прокрутки в текстовом представлении на основе количества строк - PullRequest
0 голосов
/ 29 апреля 2011

Я хочу включить прокрутку в текстовом представлении, если количество строк превышает 5, иначе прокрутки быть не должно. Возможно ли это и как этого добиться?

Ответы [ 2 ]

1 голос
/ 29 апреля 2011

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

0 голосов
/ 29 апреля 2011

Попробуйте использовать этот код:

- (void)viewDidAppear:(BOOL)animated
{
    [self.tableView reloadData];
    if([myDataSourceArray count] < 6)
    {
        self.tableView.scrollEnabled = NO;
    }
    else
    {
        self.tableView.scrollEnabled = YES;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...