我正在开发基于故事板的应用程序(iPhone)。应用程序有一个导航控制器开始。我们正在整合现有的应用程序。因此,我们需要在单击按钮时加载NIB文件。
NSBundle *someBundle = [NSBundle category_bundle ];
MainWindow *aViewController = [[MainWindow alloc]
initWithNibName:nibName
bundle:someBundle];
[self.navigationController pushViewController:aViewController animated:YES];
现有应用程序然后加载另一个VC。
[[self navigationController] pushViewController:mySecondView animated:YES];
此观点再次来自NIB。
然后,该视图使用singelton获取MainWindow的实例(在第一步中加载)并请求它显示模态视图。 “糟糕的设计”,但我不能改变它,因为这是一个现有的应用程序,我需要明天提供集成。
模态显示为 -
[self presentModalViewController:aModal animated:YES];
我们正在打开横向模式,并且在它的viewWillAppear中我们正在使用此代码 -
[UIApplication sharedApplication].statusBarOrientation = self.interfaceOrientation;
并在viewDidDisappear
if (SYSTEM_VERSION_LESS_THAN(@"5.0")) {
[UIApplication sharedApplication].statusBarOrientation = self.parentViewController.interfaceOrientation;
} else {
[UIApplication sharedApplication].statusBarOrientation = self.presentingViewController.interfaceOrientation;
}
问题:
问题是,在模态弹出窗口关闭后,MainWindow的UIView向上移动了20px。我试图重置框架。还尝试隐藏状态栏,但状态栏部分隐藏了导航栏,为了解决这个问题,我们尝试在状态栏可见后隐藏导航栏,然后再次显示,但没有成功。
请告诉我如何解决此问题。