什么会导致iPhone主屏幕在模态翻转过渡后可见?

时间:2011-12-29 23:24:53

标签: iphone ios uiviewcontroller uiviewanimationtransition

在某些情况下,并非每次,当我的应用使用presentModalViewController:animated:modalTransitionStyle设置为UIModalTransitionStyleFlipHorizontal的情况下呈现模态视图控制器时,iPhone主屏幕在动画后面可见。大多数情况下,背景是预期的黑色。我设置windowrootViewController(a UITabBarController)时没有异常。我将应用程序用户界面涂黑了但你可以在转换过程中看到用iPhone 4拍摄的屏幕截图中的问题。

这会导致什么?即使我想要这种行为,我也不知道怎么做。

编辑:这个屏幕截图是由测试人员发给我的,我自己没有责备它。他们告诉我它发生在特定的应用程序会话期间,一旦发生,它就发生在所有转换中。当他们退出/重新启动应用程序时,它没有再次发生,他们从那时起就没有看到它。我想知道是否需要关注它(即我可以在代码中阻止它)。

编辑2:此应用不使用IB。所有控制器/视图都是用代码创建的。

enter image description here

5 个答案:

答案 0 :(得分:3)

我之前遇到过同样的问题。尝试在推送视图上使用[viewController.view setBackgroundColor:[UIColor blackColor]];。无论如何都为我工作了!

答案 1 :(得分:2)

当iOS向应用程序发送内存警告并且应用程序的框架自动转储所有不可见的视图组件时会发生这种情况,除了与viewController相关的数据结构将保留,并且当有一个引用视图时它会再次从nib加载视图(在你的情况下我调用了loadView)你应该确保你的视图构造代码是可重构的,并且在视图控制器的viewDidUnload方法中取消与视图组件相关的所有对象。

您也可以通过模拟器运行您的应用程序来实现,当您处于该模态视图时,从计算机屏幕顶部的“设备”菜单中触发“内存警告”模拟。

答案 2 :(得分:0)

我不确定,但我认为这可能是由于主要' UIApplication.h'代码,iOS的问题或您拥有的Xcode版本的问题。

的Seb

答案 3 :(得分:0)

即使使用Facebook iPhone App,我也看到了这个问题。也许这是Apple的错误。

答案 4 :(得分:0)

解决此问题的说明:

  1. 转到受影响的XIB并选择View Controller。
  2. 转到右侧的属性面板。转到视图>>背景颜色。
  3. 现在设置您想要支持转换的颜色。
  4. 希望这会有所帮助:)