可能的重复:
当 UITableViewCell 被选中时,你能用动画来改变高度吗? https://stackoverflow.com/questions/460014/can-you-animate-a-height-change-on-a-uitableviewcell-when-selected
我有一个表格视图,您可以在其中单击一个单元格的开关,表格视图的许多单元格可能会改变它们的高度。计算哪些单元格将改变其大小有点复杂,所以我不想调用两次相同的代码。
我有一个heightForRowAtIndexPath
方法(这个比较复杂)。
有没有一种方法可以使细胞生长或减少特征而不影响不改变的特征?
我试过了UIView
动画,带有动画的部分的 reloadData,...但我没有找到任何顺利的东西。
我试图捕获每个需要更改的单元格,并在每个单元格上调用带有动画的 reloadData 。即将开始工作,但单元格正在一个接一个地更新。正如我之前所说,我不想这样做,因为我必须调用两次 heightForRowAtIndexPath 方法。
我想要的是能够通过诸如增长或减少运动(而不是淡入淡出)等方式对高度变化的每个单元进行动画处理。
你知道有办法做到这一点吗?
另一件事是,当大小改变时,单元格的内容会发生一点变化(添加一些文本,改变背景颜色,等等)
UITableView 有一个巧妙的技巧来动画单元格高度的变化:如果您向表视图发送一个空的更新块,它不会插入或删除任何单元格,但它仍然会重新计算整个表的单元格高度。因此,尽管这段代码看起来很奇怪,但它应该这样做:
[tableView beginUpdates];
[tableView endUpdates];
如果您也想更改更新单元格的内容,则必须添加一个或多个调用reloadRowsAtIndexPaths:withRowAnimation:
当然是更新块。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)