即使我这样计算 UITextView 的大小,我也得到了错误的高度:
CGRect requiredHeight = [self boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX)
optionsNSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading)
context:nil];
当我将高度添加到框架时,我可以看到所有文本,但看不到最后一行。我不知道为什么。 (文本在我将其转换为 NSAttributedString
之前是一个 HTML
)。
所以,答案很明显,但我们并不总是那么容易看到这样的事情!。
解释:
答案是如果我们需要获取特定字段的高度(可能是标签、 TextView 等),我们应该使用这些字段中的方法来计算其高度,因为它们可能有一些特定的属性,如果我们根据文本计算高度(不考虑字段)我们不考虑字段可能具有的那些特殊属性。
简短回答:
如此简短的回答,对于 UITextView
你应该使用 [textView sizeThatFits:]
来获得它的高度,如果你不使用这可能是最好的方法 自动布局
。
建议:
如果您可以轻松迁移 UI,我鼓励您使用 autolayout
。
关于ios - 使用 boundingRectWithSize ptions:context 为 UITextView 获取错误的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36635057/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |