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

标题: ios - 如何根据 UITableView 滚动动态调整 UITableViewCell 的大小? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 11:00
标题: ios - 如何根据 UITableView 滚动动态调整 UITableViewCell 的大小?

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

上下文

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

要求

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

其他信息

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

任何提示或帮助将不胜感激。



Best Answer-推荐答案


您需要响应 ScrollView 委托(delegate)方法 scrollViewDidScroll: 并实现它以记录表格 View 顶部的单元格并重新加载表格 View 。然后你的表格 View 委托(delegate)方法 tableView:heightForRowAtIndexPath: 通过索引路径和顶部单元格索引路径之间的关系设置单元格高度。

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

如果您想推出自己的解决方案,无论如何都将遵循上述描述,但您将能够比表格 View 更高效,因为表格 View 将调用 tableView:heightForRowAtIndexPath: 方法为每次重新加载的每一行执行一次,以计算表格内容的总高度。

关于ios - 如何根据 UITableView 滚动动态调整 UITableViewCell 的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16640036/






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