以编程方式使用情节提要设置初始视图控制器

以编程方式使用情节提要设置初始视图控制器

如何以编程方式设置InitialViewController作为一个故事板?我想打开我的故事板,以一个不同的观点,取决于某些条件,可能会有所不同的发射,发射。



当年话下
浏览 1019回答 3
3回答

12345678_0001

如何无一个虚拟的初始视图控制器确保所有初始视图控制器都有一个故事板ID。在情节提要中,取消选中第一个视图控制器中的“is Initial View Controller”属性。如果您在此时运行您的应用程序,您将看到:Failed&nbsp;to&nbsp;instantiate&nbsp;the&nbsp;default&nbsp;view&nbsp;controller&nbsp;for&nbsp;UIMainStoryboardFile&nbsp;'MainStoryboard'&nbsp;-&nbsp;perhaps&nbsp;the&nbsp;designated&nbsp;entry&nbsp;point&nbsp;is&nbsp;not&nbsp;set?您会注意到,应用程序委托中的窗口属性现在为零。在应用程序设置中,转到目标和Info标签。有明确的价值Main storyboard file base name..在General选项卡,清除Main Interface..这将删除警告。在应用程序委托中创建窗口和所需的初始视图控制器application:didFinishLaunchingWithOptions:方法:-&nbsp;(BOOL)application:(UIApplication&nbsp;*)application&nbsp;didFinishLaunchingWithOptions:(NSDictionary&nbsp;*)launchOptions{ &nbsp;&nbsp;&nbsp;&nbsp;self.window&nbsp;=&nbsp;[[UIWindow&nbsp;alloc]&nbsp;initWithFrame:UIScreen.mainScreen.bounds]; &nbsp;&nbsp;&nbsp;&nbsp;UIStoryboard&nbsp;*storyboard&nbsp;=&nbsp;[UIStoryboard&nbsp;storyboardWithName:@"MainStoryboard"&nbsp;bundle:nil]; &nbsp;&nbsp;&nbsp;&nbsp;UIViewController&nbsp;*viewController&nbsp;=&nbsp;//&nbsp;determine&nbsp;the&nbsp;initial&nbsp;view&nbsp;controller&nbsp;here&nbsp;and&nbsp;instantiate&nbsp;it&nbsp;with&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;[storyboard&nbsp;instantiateViewControllerWithIdentifier:<storyboard&nbsp;id>]; &nbsp;&nbsp;&nbsp;&nbsp;self.window.rootViewController&nbsp;=&nbsp;viewController; &nbsp;&nbsp;&nbsp;&nbsp;[self.window&nbsp;makeKeyAndVisible]; &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;YES;}

慕姐4208626

为了所有的斯威夫特在外面的情人们,这是答案@Travis翻译成斯威夫特:做什么@Travis在目标C代码之前解释。然后,func&nbsp;application(application:&nbsp;UIApplication,&nbsp;didFinishLaunchingWithOptions&nbsp;launchOptions:&nbsp;[NSObject:&nbsp;AnyObject]?)&nbsp;->&nbsp;Bool&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;self.window&nbsp;=&nbsp;UIWindow(frame:&nbsp;UIScreen.mainScreen().bounds) &nbsp;&nbsp;&nbsp;&nbsp;let&nbsp;mainStoryboard:&nbsp;UIStoryboard&nbsp;=&nbsp;UIStoryboard(name:&nbsp;"Main",&nbsp;bundle:&nbsp;nil) &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;exampleViewController:&nbsp;ExampleViewController&nbsp;=&nbsp;mainStoryboard.instantiateViewControllerWithIdentifier("ExampleController")&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;as!&nbsp;ExampleViewController &nbsp;&nbsp;&nbsp;&nbsp;self.window?.rootViewController&nbsp;=&nbsp;exampleViewController&nbsp;&nbsp;&nbsp;&nbsp;self.window?.makeKeyAndVisible() &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true}这个ExampleViewController将是您想要显示的新的初始视图控制器。这些步骤说明:创建一个具有当前窗口大小的新窗口,并将其设置为我们的主窗口实例化一个故事板,我们可以使用它来创建新的初始视图控制器。实例化我们的新的初始视图控制器,基于它的Storyboard ID将新窗口的根视图控制器设置为我们刚刚启动的新控制器使我们的新窗口可见享受和快乐的节目!

猛跑小猪

中以编程方式设置键窗口的rootViewController(BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions例如:-&nbsp;(BOOL)application:(UIApplication&nbsp;*)application&nbsp;willFinishLaunchingWithOptions:(NSDictionary&nbsp;*)launchOptions{ &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(shouldShowAnotherViewControllerAsRoot)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UIStoryboard&nbsp;*storyboard&nbsp;=&nbsp;self.window.rootViewController.storyboard; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UIViewController&nbsp;*rootViewController&nbsp;=&nbsp;[storyboard&nbsp;instantiateViewControllerWithIdentifier:@"rootNavigationController"]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.window.rootViewController&nbsp;=&nbsp;rootViewController; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[self.window&nbsp;makeKeyAndVisible]; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;YES;}
打开App,查看更多内容
随时随地看视频慕课网APP