我找到了similar question,但没有答案(抱歉,答案不起作用)。
所以我有分组表,我想动画内容更新,而不是[tableView reloadData]
。
我通过使用这段代码来做到这一点:
// Data source already updated here, but reloadData wasn't called
[self.tableView beginUpdates];
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationMiddle];
[self.tableView endUpdates];
我上传了2个动画示例:
正如你所看到的,差异是巨大的。 我根本不更改我的代码,只需在故事板中更改tableView样式。
除了其他方法之外,没有别的方法可以继承UITableView和UITableViewCell并使用CoreAnimation实现我自己的动画吗?
答案 0 :(得分:0)
使用CoreAnimation实现自己的动画在动画表格的行时不是必需的。
UITableView支持更多高级动画,而不仅仅是重新加载一个部分,我建议你看看它们。
由于您正在对视频中的行进行随机播放,因此您应该查看moveRowAtIndexPath:toIndexPath:
(在UITableView上)。您将调用放在beginUpdates
和endUpdates
。
通过了解重新洗牌之前和之后的顺序,您可以将所有行移动到新的位置并让它们滑入正确的位置。
需要一些思考来确定每一行应该去哪里,但它比滚动完全自定义解决方案要容易得多。