0

我希望创建一个具有多个故事板的应用程序以支持 iPhone5、iPhone4(及以下)和 iPad 屏幕。

我做了以下事情:

  1. 我创建了 3 个故事板,每个设置一个。
  2. 我清除了项目界面中的“主故事板”字段。
  3. 我清除了应用程序 info.plist 文件中的“主故事板文件基本名称”字段。
  4. 我在 AppDelegate“didFinishLaunchingWithOptions”方法中输入了以下代码:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {        
    
        UIStoryboard* appStoryboard = nil;
    
        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
        {
            if (IS_IPHONE_5) //a macro capturing the screen size
            {
                appStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone5" bundle:nil];
            }
            else 
            {
                appStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone4" bundle:nil];
            }
        }
        else if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
        {
            appStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle:nil];
        }
        UIViewController* viewController = [appStoryboard instantiateInitialViewController];
        [self.window setRootViewController:viewController];
        [self.window makeKeyAndVisible];
        return YES;
    }
    

该应用程序正在运行并且没有崩溃,但我得到一个黑屏。

我错过了什么/做错了什么?

4

1 回答 1

1

你没有初始化window.

只需添加

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

于 2013-09-24T10:05:45.813 回答