Xcode - UIStoryboard黑屏

时间:2013-01-04 08:06:54

标签: objective-c ios uiviewcontroller uistoryboard

我正在使用UIStoryboard。我创建了我的应用程序空,然后我添加了一个故事板。故事板被设置为项目设置中的主要故事板,也被设置为Info.plist中的“主要故事板文件基本名称”。

我的应用代理只返回YES而没有任何其他代码。

我的main.m包含以下代码:

return UIApplicationMain(argc, argv, nil, NSStringFromClass([ARGAppDelegate class]));

我在控制台中收到此消息:

  

应用程序窗口应该有一个根视图控制器   应用程序启动结束

我的视图控制器位于UIStoryboard中,作为初始视图控制器。

只是想知道我在这里做错了什么......

我的AppDelegate代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{        
    return YES;
}

这就是我拥有的所有代码,如果你使用的是故事板,你不需要创建一个窗口吗?

感谢您的帮助,谢谢!


更新

我实际上改变了我的AppDelegate代码,但仍然没有什么区别:

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

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

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:[NSBundle mainBundle]];
    UIViewController *initViewController = [storyboard instantiateViewControllerWithIdentifier:@"ARGViewControllerID"];

    NSLog(@"%@", initViewController); // Returns a valid ARGViewController object

    [self.window setRootViewController:initViewController];
    [self.window makeKeyAndVisible];
    [self.window makeKeyWindow];

    return YES;
}

3 个答案:

答案 0 :(得分:1)

-applicationDidFinishLaunching:withOptions:没有在代码中设置窗口或故事板时,系统看到的下一个位置是info.plist中的默认XIB或StoryBoard。项目信息中的“默认故事板”字段为空,或指向不存在的.storyboard文件。单击树中的项目,然后单击“摘要”选项卡,并在字段中填写故事板文件的名称。

答案 1 :(得分:1)

Application windows are expected to have a root view controller at the end of application launch

听起来你没有嵌入故事板开头的导航控制器

答案 2 :(得分:0)

在挖掘论坛和问题并使用代码后无法找到解决方案时,我切换到xibs。从4个小时前我转型开始就对它感到满意。我希望我再也不会看到另一个错误填充且难以使用的故事板文件了!