【问题标题】:iOS Black screen while loading from xib从xib加载时iOS黑屏
【发布时间】:2014-10-01 17:03:38
【问题描述】:

我正在尝试使用 .xib 文件加载应用程序。我不知道为什么我的屏幕变黑了...

我的 AppDelegate 代码:

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

    MainViewController *mainViewController = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];

    self.window.rootViewController = mainViewController;

    [self.window makeKeyAndVisible];

    return YES;
}

【问题讨论】:

  • self.window == nil?
  • 需要初始化吗?如果有,该怎么做?
  • 是的,self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 添加为答案。

标签: ios objective-c xcode ios8 xcode6


【解决方案1】:

当您手动构建应用程序(不使用情节提要)时,您需要创建自己的窗口。

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

使用 Storyboard 时,应用程序会在调用 application:didFinishLaunchingWithOptions: 之前完成整个过程。这就是为什么在 iOS 5 中添加了 UIApplicationDelegate.window 并且许多现代教程没有向您展示设置步骤的原因。在此之前,拥有该属性只是常见的做法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多