如果Iam使用sizeToFit属性,如何获取UITextView contentView高度?
答案 0 :(得分:1)
如果您正在使用,
int numLines = txtview.contentSize.height / txtview.font.lineHeight;
获取textView
中的行数,然后根据内容大小,您不需要sizeToFit
或不需要设置textView
的帧。
txtview.contentSize.height
会为您提供内容视图的高度,您可以获得行数。
但请确保您在viewDidAppear
(或您的观看后的任何地方)不在viewDidload
中执行此操作,因为在viewDidload
中您的textview未完全加载。
答案 1 :(得分: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;
}