ios - UIViewController 动画停止工作

标签 ios uiviewcontroller

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

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

最佳答案

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

正因为如此,您应该始终将 dispatch_async 放到主队列上以更新 UI。

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

为了捕捉它们,我构建了一个方法来调配一些 UIKit 方法以检查它们是否在主线程上被调用。这允许您在忘记分派(dispatch)回主队列时停止在符号断点上。

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

关于ios - UIViewController 动画停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18281097/

相关文章:

ios - reversibleTransformerWithForwardBlock 已弃用

ios - 为什么UIViewController中有一个navigationItem?

ios - 使用 Segue 在 View Controller 之间传递数据

iPhone多 View 流程问题

ios - 如何从 NSObject 类显示 UIViewController?

ios - 在 Beta 环境中测试基于 App 的 Apple Pay

ios - 何时创建自定义数据源方法而不是设置变量

ios - NSUserDefault vs Global Variable vs CD vs Singleton——一个具体的例子

iphone - 使用 CGContextDrawLinearGradient 时如何优化 UITableViewCell 渲染

ios - 选项卡 Controller 中的 View Controller 如何知道它何时被展开?