6

目前我遇到了一个问题,应用程序丢失了所有艺术 UI 动画,例如翻页、弹出警报视图、向上滑动操作表等。这意味着所有这些 UI 将立即显示而没有任何过渡动画。看起来很奇怪。

首先,该应用程序将平稳运行,直到触发上述问题,之后只有重新运行该应用程序或终止该应用程序才能停止该问题。

没有错误消息或任何线索我可以弄清楚可能是什么原因。有没有人遇到过与上面类似的问题?请与我分享我如何解决上述问题。谢谢。

4

1 回答 1

0

每当尝试在后台线程上为视图设置动画时,整个应用程序的动画可能会被禁用,例如通过从后台线程调用UIView'sanimateWithDuration:animations:系列类方法之一。请务必仅从主线程更新您的应用程序的 UI。

您可以通过测试检查代码是否在主线程上运行,[NSThread currentThread].isMainThread并且可以确保它在主线程上运行,如下所示:

dispatch_async(dispatch_get_main_queue(), ^(void) {
    // Your code
});

或者,确保您没有[UIView setAnimationsEnabled:NO]在任何地方调用,因为这也会禁用整个应用程序的动画。

于 2015-04-16T11:53:30.073 回答