- 使用 iOS 5 模拟器或设备运行带有标签的应用程序
- 调出模态对话框
- 模拟内存警告(设备会转到一些内存密集型应用程序)
- 切换到另一个应用程序(如果您还没有这样做)
- 回到应用程序
- 关闭对话框
您将看到一个空白屏幕(窗口)。演示此错误/问题的测试项目:http: //github.com/chetanpungaliya/iOS-5-TestModal
您将看到一个空白屏幕(窗口)。演示此错误/问题的测试项目:http: //github.com/chetanpungaliya/iOS-5-TestModal
我今天自己遇到了这个问题,除了 iOS 5 错误之外找不到任何解释。经过一番黑客攻击,我找到了一种解决方法。在关闭模态视图控制器之前,请更改tabBarController.selectedIndex
为不同的视图控制器索引,然后再返回。
您可以在https://github.com/xjones/iOS-5-TestModal的项目克隆中看到这一点。我也将此作为拉取请求提交给您。
编辑:添加了 openradar 报告
有人也在openradar上发布了这个:http: //openradar.appspot.com/10529236
我也有同样的问题并解决了。问题是我们通过 xib 连接的出口在 viewDidUnload 方法中被设置为 nil。当发生内存警告时,对当前不可见的所有视图调用此方法。当我们回到那些视图时,它们的 viewDidLoad 方法会再次被调用。解决此问题的唯一方法是将 setNil 方法从 viewDIdUnload 删除到 dealloc 方法,一切都会正常工作。