菜鸟教程小白 发表于 2022-12-13 13:20:39

ios - 使用 boundingRectWithSize :options:context 为 UITextView 获取错误的高度


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

<pre><code>CGRect requiredHeight = [self boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX)
                                           options:(NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading)
                                           context:nil];
</code></pre>

<p>当我将高度添加到框架时,我可以看到所有文本,但看不到最后一行。我不知道为什么。 (文本在我将其转换为 <code>NSAttributedString</code> 之前是一个 <code>HTML</code>)。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>所以,答案很明显,但我们并不总是那么容易看到这样的事情!。</p>

<p><strong>解释:</strong></p>

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

<p><strong>简短回答:</strong></p>

<p>如此简短的回答,对于 <code>UITextView</code> 你应该使用 <code></code> 来获得它的高度,如果你不使用这可能是最好的方法 <code>自动布局</code>。 </p>

<p><em>建议:
如果您可以轻松迁移 UI,我鼓励您使用 <code>autolayout</code>。</em></p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 使用 boundingRectWithSize :options:context 为 UITextView 获取错误的高度,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/36635057/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/36635057/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 使用 boundingRectWithSize :options:context 为 UITextView 获取错误的高度