0

我正在开发一个通用应用程序。我正在使用

self.window.rootViewController = self.SecondViewController

AppDelegate方法中加载 viewcontroller 类。这行代码适用于 ios 版本 4 及更高版本,但是当我在我的 ios 3.1.3 上运行它时它崩溃了。

因此,我用它替换了该代码,[self.window addSubview:[SecondViewController view]]它工作正常,但最初在我们第一次加载应用程序时视图会向上移动(如屏幕截图所示)。

所以请帮我解决这个问题谢谢在此处输入图像描述

4

2 回答 2

3

rootViewController属性是在 iOS 4.0 中引入的,这就是在 iOS 3.1.3 中崩溃的原因。

如果您使用[self.window addSubview:[SecondViewController view]],则可能会发生视图控制器视图未针对状态栏进行调整的情况。请参阅UIWindow addSubview上的 Offset 以获得很好的解释。

解决方案是在您的情况下分配视图的框架

self.SecondViewController.view.frame = [UIScreen mainScreen].applicationFrame;

在将其添加为子视图之前。

于 2012-09-18T05:40:07.003 回答
2
SecondViewController.view.frame = CGRectMake(0, 20, 320, 460);
[self.window addSubview:[SecondViewController view]]
于 2012-09-18T06:05:23.863 回答