我为UITextView获得了错误的高度,即使我正在计算它的大小:
CGRect requiredHeight = [self boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX)
options:(NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading)
context:nil];
当我将高度添加到我的框架时,我可以看到所有文本,但不能看到最后一行。我不知道为什么。 (在我将其转换为HTML
)之前,文字为NSAttributedString
。
答案 0 :(得分:3)
所以,答案非常明显,但并不总是我们很容易看到这样的事情!
<强>说明强>
答案是,如果我们需要获取特定字段的高度(可能是label,textView等),我们应该使用这些字段中的方法来计算其高度,因为它们可能具有一些特定的属性,如果我们从文本计算高度(不考虑字段)我们没有考虑该字段可能具有的特殊属性。
简短回答:
如此简短的回答,对于UITextView
你应该使用[textView sizeThatFits:]
来获得它的高度,如果你不使用auto layout
,这可能是最好的方法。
建议:
如果您可以轻松迁移用户界面,我建议您使用autolayout
。