菜鸟教程小白 发表于 2022-12-13 16:33:15

iphone - UITableViewCell 的高度如何设置


                                            <p><p>我知道当 UIKit 渲染一个单元格时,它使用 <code>tableView:heightForRowAtIndexPath:</code> 来计算高度。我的问题是,如何以及何时在实际的 <code>UITableViewCell</code> 上设置。我想构建动态单元格,并且需要计算单元格内文本的位置。我相信我可以只使用 self.bounds 和 self.frame - 我只是好奇它们是在什么时候设置的 - 即使使用 <code>dequeueReusableCellWithIdentifier</code>。</p>

<p>谢谢。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>从<code>tableView:cellForRowAtIndexPath:</code>返回单元格后,tableview会设置一些属性,包括单元格的边界,然后调用<code>tableView:willDisplayCell:forRowAtIndexPath:</code>。该调用之后的唯一修改是设置 alpha/frame,即使这样也仅在为行设置动画时进行。</p>

<p>鉴于,如果您使用的是库存 <code>UITableViewCell</code>,您可以在 <code>tableView:willDisplayCell:forRowAtIndexPath:</code> 中布局您的文本,并确保该单元格已经具有正确的宽度/高度。也就是说,如果您要做的不仅仅是基础知识,您可能需要考虑子类化 <code>UITableViewCell</code>。在您的子类中,您可以在 <code>layoutSubviews</code> 中布置您的字段,并确保您的单元格将始终正确布置。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - UITableViewCell 的高度如何设置,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/4631781/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/4631781/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - UITableViewCell 的高度如何设置