在解除模态并在内存警告后从后台返回后,iOS 5选项卡的空白屏幕

时间:2011-11-09 23:56:35

标签: ios modalviewcontroller didreceivememorywarning ios5

  1. 使用iOS 5模拟器或设备
  2. 运行带有标签的应用
  3. 打开模态对话框
  4. 模拟内存警告(设备转到某些内存密集型应用程序)
  5. 切换到另一个应用程序(如果您还没有这样做)
  6. 回到应用程序
  7. 关闭对话框
  8. 您将看到一个空白屏幕(窗口)。测试项目以演示此错误/问题:http://github.com/chetanpungaliya/iOS-5-TestModal

2 个答案:

答案 0 :(得分:4)

我今天遇到了这个问题,除了它是一个iOS 5错误之外,找不到任何解释。经过一番黑客攻击后,我找到了解决方法。在关闭模态视图控制器之前,将tabBarController.selectedIndex更改为其他视图控制器索引,然后再返回。

您可以在https://github.com/xjones/iOS-5-TestModal的项目克隆中看到这一点。我还将此作为拉取请求提交给您。

编辑:添加了openradar报告

有人也在openradar上发布了这个帖子:http://openradar.appspot.com/10529236

答案 1 :(得分:1)

我也有同样的问题并修复了它。问题是我们通过xib连接的出口在viewDidUnload方法中设置为nil。发生内存警告时,将在当前不可见的所有视图上调用此方法。当我们回到那些视图时,会再次调用它们的viewDidLoad方法。解决这个问题的唯一方法是从viewDIdUnload中删除setNil方法到dealloc方法,一切都会正常工作。