我试图寻找这个问题的答案,但到目前为止我还没有运气。
上下文
我在标准 UIViewController(不是 UITableViewController..)中有一个 UITableView。我对 UITableViewCell 进行了子类化,并且 tableview 中的所有单元格都来自同一类。
要求
我想找到一种有效的方法来根据表格 View 的滚动来调整单元格的大小。例如,当单元格位于可见列表的底部时,高度为 X。当单元格在屏幕上向上移动时,其高度应按比例增加到 2X。
其他信息
我即将放弃 UITableView 的方式,开始制作我自己的控件,通过继承 UIScrollView 来实现这样的壮举。但是,我想在走这条路之前看看是否有可能。我确实看到了一些非常有趣的 SO 帖子,但没有什么能让我走上正确的道路。
任何提示或帮助将不胜感激。
Best Answer-推荐答案 strong>
您需要响应 ScrollView 委托(delegate)方法 scrollViewDidScroll: 并实现它以记录表格 View 顶部的单元格并重新加载表格 View 。然后你的表格 View 委托(delegate)方法 tableView:heightForRowAtIndexPath: 通过索引路径和顶部单元格索引路径之间的关系设置单元格高度。
您的主要问题是始终重新加载表格 View 时的性能。
如果您想推出自己的解决方案,无论如何都将遵循上述描述,但您将能够比表格 View 更高效,因为表格 View 将调用 tableView:heightForRowAtIndexPath: 方法为每次重新加载的每一行执行一次,以计算表格内容的总高度。
关于ios - 如何根据 UITableView 滚动动态调整 UITableViewCell 的大小?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/16640036/
|