我有一个使用导航控制器的主视图控制器,我正在制作我的应用程序。现在我想为我的应用程序添加一个欢迎视图控制器,并使其首先显示而不是我的主视图控制器。有没有办法做到这一点。
我所做的是在我的故事板中添加一个视图控制器,并添加了两个同名的类,然后我将它作为我的根视图控制器,并从主视图中取消选中根视图控制器,但它没有显示在窗口上。请帮助我,如何让我的欢迎视图出现在主视图控制器之前。感谢
答案 0 :(得分:1)
在Interface Builder中,在属性部分(看起来像一个小滑块)下约四分之一的设置列表,有一个标有“View Controller”的部分。该部分中的第二项是“是初始视图控制器”复选框,选中该框,您应该看到故事板的起始箭头移动到指定的视图控制器,应用程序应该启动到该页面。
希望这有助于。
答案 1 :(得分:0)
您可以通过设置应用程序窗口的rootViewController以编程方式执行此操作。从app delegate的应用程序:didFinishLaunchingWithOptions:
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIScreen *mainScreen = [UIScreen mainScreen];
self.window = [[KTAppWindow alloc] initWithFrame:mainScreen.bounds];
[window makeKeyAndVisible];
window.rootViewController = [[WelcomeViewController alloc] init];
return YES;
}
然后,您只需设置触发器即可从“欢迎”视图切换到主视图。例如,这可能是安排NSTimer。无论触发器是什么,一旦发生,只需将窗口的rootViewController实例更改为MainViewController。
我希望这会有所帮助。
答案 2 :(得分:0)
它称为“启动画面”,您只需在故事板中添加一个新的ViewController,或者如果您没有添加导航控制器。
在Splash类中,在viewDidLoad方法中需要输入:
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
HomeViewController *vc = [sb instantiateViewControllerWithIdentifier:@"Home"];
[[[[UIApplication sharedApplication] delegate] window] setRootViewController:vc];
[self performSegueWithIdentifier:@"Home" sender:self];
这里你可以根据需要添加条件