UIViewController动画停止工作

Nic*_*ing 21 uiviewcontroller ios

我的应用程序在iOS6中运行良好,但在未指定的即将推出的iOS版本中,由于NDA原因我无法命名,所有UIViewController过渡动画都停止工作.新视图立即就位.我不确定这个未指定的iOS未来版本是否是原因,因为我在iOS6中偶尔会看到这种情况.

有时动画开始工作一段时间然后不久就停止,让我觉得它是某种内存警告问题,但我的应用程序在大多数情况下使用相当合理的~125MB RAM.任何人都可以提供任何建议或事情来调查吗?

Coc*_*ics 40

所描述的行为一直存在:如果您在后台线程上工作然后调用和UIKit方法,那么更新通常会以一种奇怪的方式延迟.

因此,您应该始终dispatch_async在主队列上更新UI.

这些错误很难捕获,因为它们并不总是可预测地发生.

为了捕获它们,我构建了一个方法,调用一些UIKit方法来检查它们是否在主线程上被调用.这使您可以在忘记调度回主队列时停止符号断点.

https://github.com/Cocoanetics/DTFoundation/blob/develop/Core/Source/iOS/Debug/UIView%2BDTDebug.m


Nic*_*ing 15

关于这个问题的Apple开发论坛的一个很好的解决方法:

做这个:

[UIView setAnimationsEnabled:YES] 
Run Code Online (Sandbox Code Playgroud)

动画再次开始工作.我怀疑这是一个直接的iOS7错误,或者在我的代码中某处动画或UIViewController启动发生在后台线程上,导致动画停止.可能与未指定的未来iOS版本无关.