Получить количество строк в UItextView - PullRequest
1 голос
/ 07 февраля 2011

Я пытаюсь создать приложение, которое поддерживает текстовое поле переменного размера в зависимости от содержимого. Размер UITextView должен увеличиться до 4 строк, а затем активировать прокрутку.

Я не могу получить количество строк при вводе текста.

Пожалуйста, предложите мне какой-нибудь способ сделать это. Любой пример кода будет высоко ценится.

Заранее спасибо !!

1 Ответ

3 голосов
/ 09 февраля 2011

Я попробовал одно временное решение этой проблемы. Можно добавить следующий фрагмент кода в методе (void)textViewDidChange:(UITextView *)textView вашего контроллера представления и изменить делегата на владельца файла в IB.

    float adjustvar;
    if ([textView.text isEqualToString:@""]) {
        //change these values according to your requirement as they are hard coded to adjust cursor and size of the textview
        adjustvar = 37.0;
        textView.contentInset = UIEdgeInsetsMake(6 ,0 ,0 ,0);
    }
    else {
        adjustvar = textView.contentSize.height;
    }

    CGRect temp = textView.frame;
    temp.origin.y = textView.frame.origin.y + textView.frame.size.height - adjustvar;
    temp.size.height = adjustvar;

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.4];
    [UIView setAnimationsEnabled:YES];

    if (temp.size.height > 142.0) {
        textView.scrollEnabled = YES;
    }
    else {
        textView.scrollEnabled = NO;
        textView.frame = temp;
    }

    [UIView commitAnimations];`

Надеюсь, это поможет. Любые лучшие решения, пожалуйста, помогите.

Спасибо

...