我有一个通用应用程序,并正在尝试为 iPhone 5 做好准备。但是,我遇到了窗口大小不正确的问题。这可能与我对 MainWindow.xib 的设置有关,并且可能一直工作到现在,可能因为只有一种尺寸。
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
viewController = [[DORootViewController alloc] initWithNibName:@"MainWindow" bundle:nil];
[self.window setRootViewController:[viewController autorelease]];
[self.window makeKeyAndVisible];
我有一个 UIView(有孩子)。这连接到设置为窗口的 rootViewController 的“rootViewController”(UIViewController)的视图。到目前为止,这一切都很好,但是在 4" 屏幕上,我的导航控制器和屏幕上的位置有问题。这个导航控制器被添加到 rootViewController,因为 rootViewController 有一个在整个应用程序中使用的背景.
[self setNavigationController:[[[UINavigationController alloc] initWithRootViewController:menuView] autorelease]];
[[[self navigationController] view] setOpaque:YES];
[[self view] addSubview:[_navigationController view]];
我读到人们有类似的问题,并且通过在 MainWindow.xib 中有一个窗口来解决它。我试过了,它修复了 NavigationController 问题,但引入了一个问题,即当我使用 [self dismissMoviePlayerViewControllerAnimated] 播放电影时应用程序崩溃;我假设是因为连接的窗口不是视图。
在我看来,导航控制器没有正确添加到窗口的边界。但为什么会这样呢?结果是不可预测的,有时似乎很好,有时在 iOS 5 和 iOS 6 上(在模拟器中)都有水平偏移。
大家有什么建议。
[编辑:更新了更多细节和屏幕截图,错误位置的条形图]