4

我使用 tabbarcontroller 作为根视图控制器。不幸的是,使用新的故事板功能,很难在应用程序加载时设置视图控制器 - 登录页面。

我正在使用以下代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;

    [tabBarController performSegueWithIdentifier:@"loginPage" sender:self];

segue 设置正确。我进入其中一个选项卡视图控制器并制作了一个 IBAction,它成功地进行了 segued。提前致谢。

4

2 回答 2

9

今天遇到了同样的问题。我不得不打电话:

[self.window makeKeyAndVisible];

[self.window.rootViewController performSegueWithIdentifier:@"LoginView" sender:self];

所以我假设在使用情节提要时 makeKeyAndVisible 发生在 didFinishLaunchinWithOptions: 返回之后。所以什么时候调用 segue 它发生在一个不在屏幕上的视图上。

于 2011-11-24T17:16:48.373 回答
1

我最近遇到了同样的问题。但是,提供的解决方案对我不起作用。

原因是我使用“push”segue 来显示我的登录视图控制器(它嵌入在导航控制器中)。将 segue 的风格从“push”更改为“modal”对我有用。显然,不可能从标签栏控制器内启动“推送”segue,而只能从导航控制器内启动。

此外,我没有把线

[self performSegueWithIdentifier:@"LoginSegue sender:self];

didFinishLaunchingWithOptions:didFinishLaunchingWithOptions:应用程序委托的方法中,而是在方法中viewDidAppear:。这样做,我不需要以下代码行:

[self.window makeKeyAndVisible];

希望这对其他人有用。

于 2014-11-25T13:16:29.260 回答