Ran*_*jit 46 storyboard uiviewcontroller ios
我使用了创建我的项目Storyboards
.根ViewController
在里面Storyboard
,我没有写过单个代码appDelegate
.
现在,我想告诉我的应用程序的巡演,所以我想根本改变ViewController
从Tab Bar
我TourVC,当应用程序的游览结束后,我想我的根再次切换回ViewController
至Tab Bar
.
所以我在网上查询并遵循以下几点
1)Storyboards
从app.plist文件中删除,2)取消选中"isInitialViewController"选项Storyboards
,在Tab Bar
控制器的情况下检查该选项,因为它是根ViewController
,3)在appDelegate.m文件中添加此代码.
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
ProductTourViewController *PT = [[ProductTourViewController alloc] initWithNibName:@"ProductTourViewController" bundle:nil];
self.window.rootViewController = PT;
[self.window makeKeyAndVisible];
return YES;
Run Code Online (Sandbox Code Playgroud)
但我的应用程序崩溃与此错误日志,
[ProductTourViewController selectedViewController]: unrecognized selector sent to instance 0x1766a9e0
Run Code Online (Sandbox Code Playgroud)
我也收到警告,
Unsupported Configuration: Scene is unreachable due to lack of entry points and does not have an identifier for runtime access via -instantiateViewControllerWithIdentifier:.
Run Code Online (Sandbox Code Playgroud)
Sun*_*hah 141
Objective-C的:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UITabBarController *rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"tabBarcontroller"];
[[UIApplication sharedApplication].keyWindow setRootViewController:rootViewController];
Run Code Online (Sandbox Code Playgroud)
斯威夫特:
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = mainStoryboard.instantiateViewControllerWithIdentifier("tabBarcontroller") as UITabBarController
UIApplication.sharedApplication().keyWindow?.rootViewController = viewController;
Run Code Online (Sandbox Code Playgroud)
斯威夫特3:
let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = mainStoryboard.instantiateViewController(withIdentifier: "tabBarcontroller") as! UITabBarController
UIApplication.shared.keyWindow?.rootViewController = viewController
Run Code Online (Sandbox Code Playgroud)
May*_*ain 11
在主故事板中为您的班级设置故事板ID.
UIStoryboard *MainStoryboard = [UIStoryboard storyboardWithName:@"Main"
bundle: nil];
UINavigationController *controller = (UINavigationController*)[MainStoryboard
instantiateViewControllerWithIdentifier: @"RootNavigationController"];
LoginViewController *login=[MainStoryboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
[controller setViewControllers:[NSArray arrayWithObject:login] animated:YES];
self.window.rootViewController=controller;
Run Code Online (Sandbox Code Playgroud)
在swift中我们可以实现如下
let storyboard = UIStoryboard(name: "StartingPage", bundle: NSBundle.mainBundle())
let loginView: SignInVC = storyboard.instantiateViewControllerWithIdentifier("SignInVC") as! SignInVC
UIApplication.sharedApplication().keyWindow?.rootViewController = loginView
Run Code Online (Sandbox Code Playgroud)
我用这个简单:
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"NameOfStoryBoard" bundle:nil];
UITabBarController *rootViewController = [sb instantiateViewControllerWithIdentifier:@"NameOfTabBarController"];
[[UIApplication sharedApplication].keyWindow setRootViewController:rootViewController];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
80722 次 |
最近记录: |