在尝试加载故事板时,Ios模拟器给我一个黑屏?

时间:2012-10-26 07:36:42

标签: ios xcode

我一直试图解决这个问题超过14个小时...我真的希望有人可以帮我加载我的故事板。每次我以非编程方式尝试它时,它决定将它保持为黑屏(而不是加载屏幕。我检查它是否在初始视图控制器中。但是没有。所以我想,也许我需要以编程方式进行。我已经正确地合成了它们。但仍然没有。我做错了什么(没有xcode错误输出)。

Appdelegate.h

#import <UIKit/UIKit.h>
@class ViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate> {
        UIWindow *window;
    UIViewController *viewController;
}

@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UIViewController *viewController;
@end

AppDelegate.m

#import "AppDelegate.h"
#import "ViewController.h"


@implementation AppDelegate

@synthesize window;
@synthesize viewController=_viewController;
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc]
                   initWithFrame:[[UIScreen mainScreen] bounds]];

self.window.rootViewController = viewController;
    [self.window makeKeyAndVisible];
    return YES;
}
- (void)applicationWillTerminate:(UIApplication *)application {
    // Save data if appropriate
}

2 个答案:

答案 0 :(得分:12)

如果您使用的是Storyboard,则应删除您在app delegate方法中编写的代码;改变它看起来像这样:

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

接下来查看构建目标属性(在项目导航器中,单击顶部项目的名称)。您的故事板是否在“摘要”窗格的“主要故事板”部分中选择了?

最后转到故事板并确保选择视图控制器作为初始视图控制器。选择视图控制器场景并验证属性检查器窗格中的“初始场景:是初始视图控制器”框是否已选中。

如果所有这些步骤都已经过验证且您仍然看到一个空白屏幕,则视图控制器中可能存在错误。尝试将全新的视图控制器拖到故事板,添加标签,并将其设置为初始视图控制器。如果您能够看到该场景启动,则原始视图控制器出现问题(而不是启动故事板时出现问题)。

答案 1 :(得分:1)

首先,您的viewController属性只是一个零,它没有在任何地方初始化。使用此self.window.rootViewController = viewController;,您只需将nil传递给rootViewController

在Interface Builder中,您应该有箭头指示您的初始视图控制器 - 如此picture或参见属性检查器中所示here

您还可以阅读有关故事板here

的优秀教程