启动模态视图控制器时导航控制器视图中断(在升级最新的xcode / ios 5之后)

时间:2011-10-17 16:59:12

标签: iphone objective-c ios5 modalviewcontroller

我的名字是Luca,在升级我的XCode for ios 5后,我的应用程序遇到了问题。我真的可以找到解决方案,所以我希望有人可以帮助我。

我的软件是window-based应用程序,它使用导航控制器和工具栏项。导航控制器在mainWindow.xib中连接到应用程序委托导航控制器属性(IBOutlet)。导航控制器init具有我称之为“启动视图控制器”的根视图控制器(这在IB中完成)。该应用在顶部显示状态栏。 在我的申请代表中我做了:

[application setStatusBarStyle:UIStatusBarStyleBlackOpaque];

 application.statusBarHidden = NO;

 self.window.rootViewController = navigationController;

[window makeKeyAndVisible];

[startingViewController onLaunchApp];

应用程序完成加载后,我尝试使用模态视图控制器显示另一个视图。通过执行

,在根视图控制器(启动视图控制器)中显示模态视图控制器
[self presentModalViewController:'another view' animated:YES];

这是我的问题。一旦我解除了模态视图控制器,导航控制器就会在主窗口的顶部移动,并向上拉动根视图控制器。导航栏的一部分位于状态栏后面(20像素),其他20像素的空白区域位于根视图控制器的底部。因此,我的视图变得完全混乱,解决它的唯一方法是在横向旋转设备,然后以纵向旋转。在这些操作之后,整个视图的堆栈是可以的,如果模态视图控制器被呈现并再次被解雇,一切正常。换句话说,仅在第一次取消模态视图控制器时才会出现此问题。

我已经使用所有模拟器版本测试了应用程序,除了最新的5.0之外,它们都正常工作。

我花了最后6个小时阅读文档,帖子并试图修复应用程序,但没有运气。

如果有人可以帮助我或给我任何暗示,我会非常感激。

非常感谢你。

1 个答案:

答案 0 :(得分:0)

如果您没有这样实现,请尝试从根视图控制器中删除模态视图控制器