gpt4 book ai didi

ios - 滚动时取消 UITableView 中的动画

转载 作者:行者123 更新时间:2023-11-28 22:47:36 27 4
gpt4 key购买 nike

我有点困惑,没有太多可以求助的地方。我有一个 iOS 应用程序,它从服务器获取消息并将其填充到 UITableView 的单元格中。每次从服务器更新某个对象时,更新都会触发单元格动画。在我们的例子中,我们有一张游戏得分表。如果有人失分,他们的手机会闪烁红色,如果他们获得一分,他们的手机会闪烁绿色。简单的概念运作良好,我们的用户喜欢反馈。他们不喜欢的是,当他们滚动时,他们如何看到单元格具有与之关联的随机颜色并在那里停留大约一秒钟。我相信这与电池的回收方式有关。我尝试了有关此问题的各种检查,检查单元格是否具有相同的值,手动将颜色设置为白色等,但这些方法均无效。

总而言之,我试图仅在单元格处于 View 中时显示动画,而不是在用户滚动 UITableView 时显示动画。有人有任何建议或想法吗?

谢谢

最佳答案

发生了什么

由于 TableView 重用了它们的单元格,因此您最终会重用单元格,尽管它们不应该被刷新。

如何解决

您可以在自定义表格 View 单元格上的 preprareForReuse: 中或在 tableView:willDisplayCell:forRowAtIndexPath: 委托(delegate)方法中(如ACB 提及)。

由于是用UIView动画做动画,所以只需要改变animated属性的值就可以取消动画,回到默认状态。

如果你有 flash 的用户核心动画

如果动画是使用 Core Animation 完成的,您应该在动画层上调用 removeAllAnimations。 (对于闪烁的动画,您可能不会更改图层上的属性,而是告诉动画自动反转。这意味着删除动画会将颜色更改回其原始值。)

关于ios - 滚动时取消 UITableView 中的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12807051/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com