iPhone-5兼容问题

时间:2012-11-29 17:00:26

标签: iphone-5 iphone-4

我为ios 4.0开发了一个ios应用程序。这是基于导航的应用程序。现在我想它也支持iPhone-5我想我在检查设备版本后更改了xib,我面临问题xib已更改但它的视图高度没有改变。如果其他人遇到这个问题怎么可能请与我分享想法。谢谢。

2 个答案:

答案 0 :(得分:1)

IN APP代表: -

  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{



CGSize iOSDeviceScreenSize = [[UIScreen mainScreen] bounds].size;

//----------------HERE WE SETUP FOR IPHONE 4/4s/iPod----------------------

if(iOSDeviceScreenSize.height == 480){


   self.viewController = [[ViewController alloc]   initWithNibName:@"ViewController_4inch" bundle:nil];

    NSLog(@"iPhone 4: %f", iOSDeviceScreenSize.height);

}

//----------------HERE WE SETUP FOR IPHONE 5----------------------

if(iOSDeviceScreenSize.height == 568){

    self.viewController = [[ViewController alloc]   initWithNibName:@"ViewController_5inch" bundle:nil];
     NSLog(@"iPhone 5: %f", iOSDeviceScreenSize.height);

}

 return YES;
 }

它的作品!!!!!!

答案 1 :(得分:0)

将iOS 6设置为基本SDK并使用“自动布局”功能制作可以缩放所有类型屏幕的屏幕。你需要Xcode 4.5才能做到这一点。

在此处开始使用自动布局:
http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2
http://www.raywenderlich.com/20897/beginning-auto-layout-part-2-of-2

如果您仍想支持iOS 4.0,请为不同的屏幕尺寸添加单独的.xib文件,并在启动时正确加载它们。

要根据您的屏幕大小加载不同的nib文件,您需要在 - (BOOL)应用程序中添加/替换以下代码:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

CGRect screenBounds = [[UIScreen mainScreen] bounds];
if (screenBounds.size.height == 568) {
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController_4inch" bundle:nil];
} else {
    self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
}

其中ViewController_4inch是为iPhone 5屏幕设计的nib文件的名称