我使用tabbarcontroller作为根视图控制器。不幸的是,使用新的故事板功能,很难在应用程序加载上划分视图控制器 - 登录页面。
我使用以下代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
[tabBarController performSegueWithIdentifier:@"loginPage" sender:self];
正确设置了segue。我进入了一个选项卡视图控制器并制作了一个IBAction并成功进行了搜索。 提前致谢。
答案 0 :(得分:9)
今天遇到同样的问题。我不得不打电话:
[self.window makeKeyAndVisible];
之前
[self.window.rootViewController performSegueWithIdentifier:@"LoginView" sender:self];
所以我假设在使用故事板时,makeKeyAndVisible发生在didFinishLaunchinWithOptions:返回之后。所以什么时候调用segue它发生在一个不在屏幕上的视图上。
答案 1 :(得分:1)
我最近遇到了同样的问题。但是,提供的解决方案并不适用于我。
原因是我使用“push”segue来显示我的登录视图控制器(嵌入在导航控制器中)。将segue的风格从“推”改为“模态”对我来说是个窍门。显然,不可能从标签栏控制器中启动“推送”segue,而只能从导航控制器中启动“推送”。
此外,我没有把行
[self performSegueWithIdentifier:@"LoginSegue sender:self];
在应用委托代理的方法didFinishLaunchingWithOptions:didFinishLaunchingWithOptions:
中,而不是方法viewDidAppear:
中。这样做,我不需要以下代码行:
[self.window makeKeyAndVisible];
希望这对其他人有用。