繁体   English   中英

故事板中的根视图控制器

[英]Root view controller in a Storyboard

我在玩一个单窗口模板。 我有一个经典的MainStoryboard.storyboard文件,我只有 1 个视图控制器(默认情况下都是初始视图控制器

我所做的是尝试实现此示例中的行为,Xcode 告诉我:

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

我不明白我做错了什么。 这是我创建新UIWindow的一段代码:

UIWindow *overlayWindow = [[UIWindow alloc] init];
    overlayWindow = [[ACStatusBarOverlayWindow alloc] initWithFrame:CGRectZero];
    overlayWindow.hidden = NO;

当然,我的appDelegate是这样开始的:

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

我究竟做错了什么?

你应该让你的窗口键和可见

[overlayWindow makeKeyAndVisible];

正如您链接的同一个示例中所建议的那样。

编辑

这是您正在使用的代码

UIWindow *overlayWindow = [[UIWindow alloc] init];
overlayWindow = [[ACStatusBarOverlayWindow alloc] initWithFrame:CGRectZero];
overlayWindow.hidden = NO;

第一行没用,可能是导致警告的那一行。 您正在创建一个UIWindow实例,而不是在下一行中将其丢弃。

删除它并执行以下操作:

UIWindow *overlayWindow = [[ACStatusBarOverlayWindow alloc] initWithFrame:CGRectZero];
overlayWindow.hidden = NO;

您还应该为新创建的窗口分配一个根视图控制器,通过

overlayWindow.rootViewController = self.window.rootViewController;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM