我有一个带有几行的分组UITableView,并且我在按钮的切换上输入和输出更多行。问题是,对于我使用的任何行动画类型(顶部和底部),动画看起来很糟糕!这是动画中的截图:
(来源:michaelwaterfall.com)
有什么理由让它看起来如此糟糕?或者所有分组表视图动画看起来都令人震惊!?
我认为当一个部分的第一行或最后一行被动画时,它看起来很糟糕,所以我只是想知道是否有任何方法让它看起来更好一点!?否则我想我只会调用reloadData并将其全部显示出来。
感谢您的帮助!
迈克尔
答案 0 :(得分:12)
如果您同时删除,添加和/或移动UITableView
中的多行,则必须将所有这些来电与beginUpdates
和endUpdates
括起来。否则结果不确定。
例如:
[tableView beginUpdates];
[tableView insertRowsAtIndexPaths:newRows
withAnimation:UITableViewRowAnimationTop];
[tableView deleteRowsAtIndexPaths:invalidRows:
withAnimation:UITableViewRowAnimationTop];
[tableView endUpdates];
答案 1 :(得分:0)
我不确定究竟什么看起来很糟糕。从静态图片中很难说清楚。
不幸的是,您无法控制tableviews中的插入/删除动画。它全部由高级UITableView API处理。
唯一的另一个选择是分别和连续地执行动画,看看它是否看起来更好。我这样做是为了消除一些文物。
还可以尝试不同的动画,例如淡入/淡出。不像华而不实,但在某些情况下看起来更好。
答案 2 :(得分:0)
我在分组表视图中使用了动画而没有任何问题,而且它看起来总是很棒。分享一些代码怎么样?也许你在单元格构建中做错了什么......或者虽然不太可能插入行。
答案 3 :(得分:0)
正如其他人所说,发布一些代码会有所帮助。
您是否已在beginUpdates/endUpdates区块内执行多次插入/删除操作?
答案 4 :(得分:0)
供将来参考,请参阅#6931544。我发现转换中间的这些任意行可以通过以下方式删除: -
[self.tableView setSeparatorStyle:UITableViewCellSelectionStyleNone];