一段时间后,所有UIView动画/过渡都将变为非动画



我在移动设备和模拟器上都遇到了一个奇怪的问题。

在应用程序中花费一段时间后,UIView 上的动画将被禁用(就像动画设置为否一样),特别是在:

  • pushViewController in a UINavigationController (对于popTo也是如此)
  • 显示 UIActionSheet
  • 使用 IIDeckViewController 在视图之间切换

这很奇怪,因为所有过渡通常都是动画的,并且以一种不可预测的方式,它们都变得非动画

几天前一切正常,据我所知,我没有做出任何应该导致这种行为的改变。

有什么想法吗?

谢谢

干杯

我们最近遇到了一些这样的麻烦,罪魁祸首是从非主线程启动一些动画(也许您正在启动过渡)。这会导致动画事务回滚时出现一些麻烦,这会破坏动画,直到事务回滚。控制台上有一些条目指向 CA 事务。在环境中设置 CA_DEBUG_TRANSACTIONS=1 很快揭示了事务开始位置的堆栈。

解决方法是不做任何会从非主线程创建事务的操作。

最新更新