2009-07-28 57 views
8

我已经分组了一排UITableView,并且我在一个按钮的切换中进行了更多行的动画处理。问题是,对于我使用的任何行动画类型(顶部&底部),动画看起来很可怕!下面是截图中期动画:分组的UITableView行动画怪癖

Example http://files.michaelwaterfall.com/images/uitableview-animation.png

是否有一个原因,它看起来那么糟糕吗?或者做所有分组的桌面视图动画看这个令人震惊!

我认为只有当一节中的第一行或最后一行正在动画时,它才会显得很糟糕,所以我只是想知道是否有任何方法让它看起来更好一些!否则,我想我只需要调用reloadData并让它出现。

感谢您的帮助!

迈克尔

+0

我从来没有动画的问题,但我只使用了未分组的样式。一旦我测试了一些东西,我会回答。 – TahoeWolverine 2009-07-28 18:01:29

+0

看起来你的图片链接不再有效;想要将它上传到imgur并重新链接它? – brandonscript 2016-03-07 17:46:54

回答

12

如果您同时删除,添加和/或移动UITableView中的多个行,则必须用beginUpdatesendUpdates括起所有这些调用。否则结果是不确定的。

例如:

[tableView beginUpdates]; 
[tableView insertRowsAtIndexPaths:newRows 
        withAnimation:UITableViewRowAnimationTop]; 
[tableView deleteRowsAtIndexPaths:invalidRows: 
        withAnimation:UITableViewRowAnimationTop]; 
[tableView endUpdates]; 
0

我不确定到底是什么看起来不好。从静态图片很难说。

不幸的是,你无法控制tableviews中的插入/删除动画。它全部由高层次的UITableView API处理。

唯一的另一种选择是单独和连续地执行动画,看看看起来是否更好。我已经完成了这个工作来消除一些文物。

也尝试不同的动画,如淡入/淡出。不如浮华,但在某些情况下看起来更好。

0

我已经在分组表格视图中使用了动画,没有任何问题,并且它看起来总是很棒。如何分享一些代码?也许你在单元构建中做错了什么......或者虽然不太可能插入行。

+0

当然可以,我会尽快发布一些代码! – 2009-08-18 12:27:38

0

正如其他人所说,张贴一些代码将有所帮助。

您是否已经在beginUpdates/endUpdates块内执行多​​次插入/删除操作?

0

以供将来参考,请参阅#6931544。我发现这些任意中间过渡线可以删除以下内容: -

[self.tableView setSeparatorStyle:UITableViewCellSelectionStyleNone];