ima*_*747 40 iphone uitableview
我有一个需要从底部引入新内容的UITableView.这是表视图在视图已满并使用动画添加新行时的行为方式.
我是通过改变contentInset来启动它的,因为引入了行但是当它们改变了一些东西时,条目动画都是错误的...这个方法的问题因为用户可以删除行和行而更加复杂内容更新,导致它们调整大小(每行都有自己的高度,这会改变).
有关如何将UITableView行始终显示在UITableView视图空间底部的任何建议?
ima*_*747 73
我有一个完美适合我的解决方案,但它引起了一堆双重思考,所以它在理论上并不像在实践中那么简单......有点......
步骤1,将变换应用于旋转180度的表视图
tableView.transform = CGAffineTransformMakeRotation(-M_PI);
Run Code Online (Sandbox Code Playgroud)
步骤2,在tableView:cellForRowAtIndexPath中旋转原始单元格180deg:
cell.transform = CGAffineTransformMakeRotation(M_PI);
Run Code Online (Sandbox Code Playgroud)
第3步,反转您的数据源.如果您正在使用NSMutableArray在位置0插入新对象而不是使用AddObject ...
现在,困难的部分是记住左边是右边,右边只留在桌面上,所以如果你使用
[tableView insertRowsAtIndexPaths:targetPath withRowAnimation:UITableViewRowAnimationLeft]
Run Code Online (Sandbox Code Playgroud)
它现在必须是
[tableView insertRowsAtIndexPaths:targetPath withRowAnimation:UITableViewRowAnimationRight]
Run Code Online (Sandbox Code Playgroud)
同样的删除等
根据您的数据存储,您可能需要以相反的顺序处理...
注意:旋转单元格OPPOSITE表,否则浮点空置可能会导致变换完美,并且当你滚动时,你会不时地抓住某些图形...轻微但很烦人.
Nic*_*247 42
接受的方法为我的应用程序引入了问题 - 滚动条位于错误的一侧,并且它为UITableViewStyleGrouped破坏了单元格分隔符
要解决此问题,请使用以下内容
tableView.transform = CGAffineTransformMakeScale (1,-1);
Run Code Online (Sandbox Code Playgroud)
和
cell.contentView.transform = CGAffineTransformMakeScale (1,-1);
// if you have an accessory view
cell.accessoryView.transform = CGAffineTransformMakeScale (1,-1);
Run Code Online (Sandbox Code Playgroud)
Jef*_*Sun 16
类似于ima747的方法,但旋转180度也使滚动指示器转向相反的一侧.相反,我垂直翻转了表视图及其单元格.
self.tableView.transform = CGAffineTransformMakeScale(1, -1); //in viewDidLoad
cell.transform = CGAffineTransformMakeScale(1, -1);//in tableView:cellForRowAtIndexPath:
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16782 次 |
| 最近记录: |