可能重复:
如何使 xib 与 iphone 5 和 iphone 4 设备兼容
我可以使用两个 xib 和一个视图控制器 - 重新:移植到 iPhone 5
我已经开发了一个 iPhone 应用程序,现在我正在尝试更新它以支持 iPad 和 iPhone5。我现在有很多帖子谈论如何处理这个问题,但没有一个对我有用。3.5'' iPhone 和 iPad 加载他们需要的 xib,但 4'' iPhone 没有(尽管在模拟器中工作正常),所以这是我处理它的方法:
首先,我为每个 viewController 创建了三个不同的 xib 文件(ViewController.xib、ViewController~ipad.xib 和 ViewController-568.xib)。在 4'' xib 中,我将视图的大小设置为“Retina 4 Full Screen”。
然后我用它来加载适当的xib。说在 AppDelegate 中我设置 didFinishLaunchingWithOptions 也可能是相关的:
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
NSString *nibName = [UIViewController nibNamedForDevice:@"ViewController"];
self.viewController = [[BPViewController alloc] initWithNibName:nibName bundle:nil];
UINavigationController *navCont = [[UINavigationController alloc] initWithRootViewController:self.viewController];
self.window.rootViewController = navCont;
[self.window makeKeyAndVisible];
self.viewController.navigationController.navigationBar.barStyle = UIBarStyleBlack;
return YES;
}
正如我所说,它在模拟器中就像一个魅力,但在真实设备中,只有 iPad 和 3.5'' xib 可以正确加载。iPhone5仍然显示上下黑条...