为啥 iOS 会禁用动画?

Posted

技术标签:

【中文标题】为啥 iOS 会禁用动画?【英文标题】:Why does iOS disables the animations?为什么 iOS 会禁用动画? 【发布时间】:2011-11-02 13:45:31 【问题描述】:

我的 iPad 上的 ios 应用程序有一个奇怪的问题。

所有动画都运行良好。我使用 AQGridView 来制作漂亮的网格视图,效果很好。但突然间我的动画不见了。就像在导航控制器中按下时滑动一样,现在它立即就在那里。当我按下一个按钮调用一个带有 UIView beginAnimation 块的方法时,动画部分被跳过,内容只是弹出,根本没有动画......

当我退出应用程序时,强制它在多任务处理部分退出,然后再次启动应用程序,直到我在 x 次后按下 AQGridView 单元格并且问题又回来了,我的动画不再有问题。 ..

用户界面如何禁用动画?以及如何定位问题?

希望有人能帮我解决这个问题...

提前致谢!

【问题讨论】:

验证你所有的动画都在主线程中... 我用 performSelectorInBackground 调用了一些动画。但是为什么动画完全阻塞并且在我强制退出应用程序之前永远不会回来...... 你能把你按AQGridView单元格时使用的代码过去吗? 如果您在后台制作动画,则行为未定义。所以我建议你在主线程中完成所有工作...... 这是在设备、模拟器还是两者上? 【参考方案1】:

只是为了确保它不是显而易见的,你有没有打电话给[UIView setAnimationsEnabled:NO]?也许由于某种原因,您期望的代码路径没有被遵循,相应的[UIView setAnimationsEnabled:YES] 没有运行。

【讨论】:

谢谢!愚蠢的愚蠢的愚蠢.. AQGridView 确实确实将 setAnimationsEnabled 调用为 NO,然后将其设置为 YES。但是有一种方法使用变量来设置动画。我强迫它是YES,现在动画仍然活着:D Thx!!

以上是关于为啥 iOS 会禁用动画?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在使用 FLAG_ACTIVITY_REORDER_TO_FRONT 时不能禁用更改活动的动画?

按钮背景颜色动画禁用触摸(IOS)

iOS 禁用 NavigationController 后退按钮的动画

iOS中的显示动画(属性动画)

IOS:在带有动画的 ImageView 下禁用滚动视图

为啥 iOS 动画第一次运行时会变慢?