2017-05-31 96 views
1

如何獲得UITextView contentView的高度,如果IAM使用sizeToFit屬性?如何使用sizeToFit屬性獲得UITextView的contentView高度?

+0

如果您正在使用sizeToFit然後再不用你'textView.frame.size.height' –

+0

@NiravD我需要的是讓節數從UITextView的線。我得到的解決方案爲:'int numLines = txtview.contentSize.height/txtview.font.lineHeight;'。但我無法獲得正確的textView contentView高度。 –

回答

1

如果你正在使用,

int numLines = txtview.contentSize.height/txtview.font.lineHeight; 

得到的textView的行數,那麼你不需要sizeToFit或不設置textView的幀按內容大小要求。

txtview.contentSize.height會給你內容視圖的高度,你可以得到行數。

但是請確保您在viewDidAppear(或任何出現您的視圖後)不在viewDidload中執行此操作,因爲在viewDidload中您的textview未完全加載。

1

UITextView本身有一個名爲sizeThatFits的函數:它將返回顯示邊界框內所有可以指定的UITextView內容所需的最小尺寸。

以下內容對於iOS 7和更早版本同樣適用,因爲現在不包括任何已棄用的方法。

- (CGFloat)textViewHeightForAttributedText: (NSAttributedString*)text andWidth: (CGFloat)width { 
UITextView *calculationView = [[UITextView alloc] init]; 
[calculationView setAttributedText : text]; 
CGSize size = [calculationView sizeThatFits:CGSizeMake(width, FLT_MAX)]; 
return size.height; 
} 

參考鏈接UITableViewCell with UITextView height in iOS 7?