【问题标题】:Grouped UITableView row animation quirks分组 UITableView 行动画怪癖
【发布时间】:2009-07-28 17:27:45
【问题描述】:

我有一个包含几行的分组 UITableView,并且我在按钮切换时为进出动画更多行。问题是,对于我正在使用的任何行动画类型(顶部和底部),动画看起来很糟糕!这是中间动画的截图:


(来源:michaelwaterfall.com

它看起来如此糟糕是有原因的吗?还是所有分组的表格视图动画看起来都这么令人震惊!?

我认为只有在部分中的第一行或最后一行被动画时才会看起来很糟糕,所以我只是想知道是否有任何方法可以让它看起来更好一点!?否则我想我会调用 reloadData 并让它全部出现。

感谢您的帮助!

迈克尔

【问题讨论】:

  • 我从来没有遇到过动画问题,但我只使用了未分组的样式。一旦我测试了一些东西,我会回答。
  • 看起来您的图片链接不再有效;想要上传到 imgur 并重新链接?

标签: iphone animation uitableview


【解决方案1】:

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

例如:

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

【讨论】:

  • 啊,太好了,我会尽快尝试的!感谢您的回复!
【解决方案2】:

我不确定到底是什么看起来很糟糕。静态图片很难分辨。

不幸的是,您无法控制表格视图中的插入/删除动画。这一切都由高级 UITableView API 处理。

唯一的其他选择是分别连续执行动画,看看是否看起来更好。我这样做是为了消除一些伪影。

还可以尝试不同的动画,例如淡入/淡出。没有那么华而不实,但在某些情况下看起来更好。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      正如其他人所说,发布一些代码会有所帮助。

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

      【讨论】:

        【解决方案5】:

        未来参考,请参阅#6931544。我发现这些任意的中间过渡线可以通过以下方式删除:-

            [self.tableView setSeparatorStyle:UITableViewCellSelectionStyleNone];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多