大概的概念
我希望在用户滚动列表时动态调整 UITableViewCells 的大小,也就是说,使项目在到达列表底部时尺寸增大。
注意事项
这是一个每秒需要刷新多次的进程,因为调用如下:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
所以采取UITableView::ReloadData
方法以便调用:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
因为这需要重新加载一堆额外的数据并极大地减慢系统速度。
Needs
- 我将在屏幕上显示大约 10 个项目。
- 在极端情况下,整个列表可能最多包含 100 项。
- 系统需要平滑滚动。
- 项目需要随着列表滚动而实时平滑地扩展和收缩。
常识
可能的方法
- 子类
UITableView
.
- 有静电
UITableView
嵌套在一个UIScrollView
.
- 从头开始创建一个项目列表系统并且不使用
UIScrollView
at all.
废弃的方法
- Call
UITableView::ReloadData
每个周期使得heightForRowAtIndexPath
: 叫做。
So far
我已经编写了一个模块来计算项目大小的数学。
结论
我正在寻找解决这个问题的最快方法,但我会重新编码我自己的UITableView
如果需要作为最后的手段。
谢谢你的时间。
经过大量测试后UITableView
我还没有找到有效的方法。看起来UITableView
可能会以不允许动态调整单元大小的方式进行优化。因此,制作自定义列表系统似乎是唯一的选择。我已经开始从事此类项目的工作UIScrollView
.
大部分基本功能已经完成,但该项目目前处于搁置状态,因为我目前还有一个更重要的系统需要开发。如果您有兴趣参与这个项目,请告诉我。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)