2017-05-31 93 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?