1

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

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

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

Спасибо заранее!

+0

Возможный дубликат [Как найти UITextView количество строк] (https://stackoverflow.com/questions/7320361/how-to-find-uitextview-number-of-lines) – iWheelBuy

ответ

3

Я пробовал одно временное решение этой проблемы. Можно добавить следующий фрагмент кода в - (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];` 

Надеюсь, это поможет. Если какие-либо лучшие решения любезно помогут.

Благодаря