2

我正在开发基于故事板的应用程序(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。

然后,此视图使用单例获取 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。我试图重置框架。还尝试隐藏状态栏,但状态栏部分隐藏了导航栏,为了解决此问题,我们尝试在状态栏可见后隐藏导航栏,然后再次显示,但没有成功。

请让我知道如何解决此问题。

4

0 回答 0