OGeek|极客世界-中国程序员成长平台

标题: ios - 使用 boundingRectWithSize :options:context 为 UITextView 获取错误的高度 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 13:20
标题: ios - 使用 boundingRectWithSize :options:context 为 UITextView 获取错误的高度

即使我这样计算 UITextView 的大小,我也得到了错误的高度:

CGRect requiredHeight = [self boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX)
                                           optionsNSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading)
                                           context:nil];

当我将高度添加到框架时,我可以看到所有文本,但看不到最后一行。我不知道为什么。 (文本在我将其转换为 NSAttributedString 之前是一个 HTML)。



Best Answer-推荐答案


所以,答案很明显,但我们并不总是那么容易看到这样的事情!。

解释:

答案是如果我们需要获取特定字段的高度(可能是标签、 TextView 等),我们应该使用这些字段中的方法来计算其高度,因为它们可能有一些特定的属性,如果我们根据文本计算高度(不考虑字段)我们不考虑字段可能具有的那些特殊属性。

简短回答:

如此简短的回答,对于 UITextView 你应该使用 [textView sizeThatFits:] 来获得它的高度,如果你不使用这可能是最好的方法 自动布局

建议: 如果您可以轻松迁移 UI,我鼓励您使用 autolayout

关于ios - 使用 boundingRectWithSize ptions:context 为 UITextView 获取错误的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36635057/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4