1

我想针对 iPhone 6 和 iPhone 6+ 优化我的应用程序

但我有一个启动屏幕尺寸问题。

我创建了一个简单的项目,AppDelegate的代码是:

#import "AppDelegate.h"
#import "ViewControllerOne.h" //xib screen size is 4 inch.
#import "ViewControllerTwo.h" // xib screen size is 4.7 inch.
#import "ViewControllerThree.h" // xib screen size is 5.5 inch.


@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {


        if ([UIScreen mainScreen].bounds.size.height == 568.0) {//4 inch

            ViewControllerOne *first = [[ViewControllerOne alloc]init];
            UINavigationController *navigation = [[UINavigationController alloc]initWithRootViewController:first];
            self.window.rootViewController = navigation;


        }

        else if ([UIScreen mainScreen].bounds.size.height == 667.0){//4.7inch

            ViewControllerTwo * second = [[ViewControllerTwo alloc]init];
            UINavigationController *navigation = [[UINavigationController alloc]initWithRootViewController:second];
            self.window.rootViewController = navigation;

        }


        else if ([UIScreen mainScreen].bounds.size.height == 736.0){//5.5inch

            ViewControllerThree *third = [[ViewControllerThree alloc]init];
            UINavigationController *navigation = [[UINavigationController alloc]initWithRootViewController:third];
            self.window.rootViewController = navigation;

        }


    }


    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];


    return YES;
}

@end

当我运行 iPhone 6 或 iPhone 6+ 模拟器时,运行这个项目时它总是出现 4 英寸屏幕。(我包括三个启动图像(Default-667h@2x.png,Default-736@3x.png,Default-568@2x .png) 也。

我必须做些什么来解决这个问题。

我检查了其他与我类似的问题,并使用了他们的代码,但所有这些都不起作用。那可能是我的技术水平比较排。

4

2 回答 2

0

除了添加图像之外,您还可以添加启动屏幕文件。这是一个 .XIB 文件,除了启动图像之外,它还允许您指定约束。它仅适用于iOS8。为了支持 iPhone 6 和 6+,我们只添加这个文件并指定约束:

要设置启动屏幕文件,请将其添加到您的项目中:

文件 > 新建 > 用户界面 > 启动屏幕

然后转到:YourAppTarget > General > App Icons and Launch Image s> Launch Screen File > Set your new created image

如果您支持 iOS 7,您仍然需要 Retina 4" 和 3.5" 的启动图像。

于 2014-12-02T20:45:28.347 回答
0

在资产目录中指定图像后,您将看到正确的图像

转到YourAppTarget>常规>应用程序图标和启动图像>启动图像源>使用资产目录

然后为每个设备拖动适当的大小。

于 2014-12-02T16:09:40.543 回答