菜鸟教程小白 发表于 2022-12-12 11:00:03

ios - 如何根据 UITableView 滚动动态调整 UITableViewCell 的大小?


                                            <p><p>我试图寻找这个问题的答案,但到目前为止我还没有运气。</p>

<p><strong>上下文</strong></p>

<p>我在标准 UIViewController(不是 UITableViewController..)中有一个 UITableView。我对 UITableViewCell 进行了子类化,并且 tableview 中的所有单元格都来自同一类。</p>

<p><strong>要求</strong></p>

<p>我想找到一种有效的方法来根据表格 View 的滚动来调整单元格的大小。例如,当单元格位于可见列表的底部时,高度为 X。当单元格在屏幕上向上移动时,其高度应按比例增加到 2X。</p>

<p><strong>其他信息</strong></p>

<p>我即将放弃 UITableView 的方式,开始制作我自己的控件,通过继承 UIScrollView 来实现这样的壮举。但是,我想在走这条路之前看看是否有可能。我确实看到了一些非常有趣的 SO 帖子,但没有什么能让我走上正确的道路。</p>

<p>任何提示或帮助将不胜感激。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您需要响应 ScrollView 委托(delegate)方法 <code>scrollViewDidScroll:</code> 并实现它以记录表格 View 顶部的单元格并重新加载表格 View 。然后你的表格 View 委托(delegate)方法 <code>tableView:heightForRowAtIndexPath:</code> 通过索引路径和顶部单元格索引路径之间的关系设置单元格高度。</p>

<p>您的主要问题是始终重新加载表格 View 时的性能。</p>

<p>如果您想推出自己的解决方案,无论如何都将遵循上述描述,但您将能够比表格 View 更高效,因为表格 View 将调用 <code>tableView:heightForRowAtIndexPath: </code> 方法为每次重新加载的每一行执行一次,以计算表格内容的总高度。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何根据 UITableView 滚动动态调整 UITableViewCell 的大小?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/16640036/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/16640036/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何根据 UITableView 滚动动态调整 UITableViewCell 的大小?