堆叠的presentViewController之后statusBarFrame = 0

时间:2012-11-12 18:04:31

标签: objective-c ios uiviewcontroller ios6

  1. 我的主视图控制器调用presentViewController来显示配置屏幕。
  2. 该配置屏幕上的按钮调用presentViewController以允许用户选择照片。
  3. 第二个视图控制器关闭后,第一个视图控制器将在iOS 6的状态栏下重绘(在iOS 5上正常工作)。
  4. 在第一个配置控制器的viewWillAppear方法中(模态显示的那个)我尝试了几件事:

    • 检查statusBarFrame(它会在第一个视图中返回20;在以下视图中返回20
    • 检查主屏幕的框架(它在第一个视图上返回{{0, 20}, {320, 460}},在以下视图中返回{0, 0}
    • 手动将框架的y坐标设置为20(即使自动调整遮罩设置为无,iOS也会将其更改回0)

    此时我想不出任何事情,除了手动将所有子视图向下移动20像素,这是超级janky。关于可能导致这种情况的任何想法?

    iOS 6中可能导致此问题的变化是什么?

1 个答案:

答案 0 :(得分:4)

我不知道为什么,但这是通过删除iOS 6轮换方法来解决的,因为应用程序仅限于纵向(shouldAutorotate和supportedInterfaceOrientations),因此未使用这些方法。