2009-08-12 53 views
0

我正在顯示一些來自sqlite3數據庫的文本,並希望UITextView根據文本的大小自動調整大小。我可以做到這一點如下:調整最大高度的UITextView的大小

TextLabel.scrollEnabled = YES; 
TextLabel.userInteractionEnabled = YES; 

[TextLabel setFrame:CGRectMake(55.10, 26.15, TextLabel.contentSize.width, 
              TextLabel.contentSize.height)]; 

這工作正常。試圖設置最大高度時,我很掙扎。

因此,UITextView將調整文本的大小,除非它達到最大高度,在這種情況下用戶將不得不使用滾動條來查看剩餘的文本。

任何幫助將高度讚賞

回答

1

這裏發現一些多行文本所需的高度的方式:

int myWidth = 300; 
int maxHeight = 9999; 
NSString *myString = @"lorem ipsum dolor yadda"; 
UIFont *myFont = [UIFont fontWithName:@"Helvetica" size:14]; 
CGSize myStringSize = [myString sizeWithFont:myFont 
          constrainedToSize:CGSizeMake(myWidth, maxHeight) 
           lineBreakMode:textLabel.lineBreakMode]; 

textLabel.frame = CGRectMake(10, 10, myWidth, myStringSize.height); 

我得到這個從妮娃的回答這個前面的問題:

參考:Apple's docs on NSString UIKit additions