1

我試圖根據內容構建支持可變大小文本框的應用程序。 UITextView的大小應增加到4行,然後激活滾動。獲取UItextView中的行數

當輸入文本時,我無法獲得行數。

請給我一些方法來做到這一點。任何示例代碼片段將受到高度讚賞。

在此先感謝!

+0

的可能的複製[如何找到行UITextView的數量(https://stackoverflow.com/questions/7320361/how-to-find-uitextview-number-of-lines) – iWheelBuy 2017-12-27 07:34:47

回答

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];` 

希望這會有所幫助。如果有更好的解決方案,請提供幫助。

感謝