警告:尝试显示其视图不在窗口层次结构中

时间:2014-09-27 19:11:46

标签: ios uiviewcontroller

我知道有一百万个这样的问题,但解决方案并不适用于我。

每个人都说,你需要推送到ViewDidAppear中的下一个视图控制器,这就是我所做的,但仍然不起作用。

我正在使用PARSE,并且根据用户登录时的说明 - 我想跳过登录屏幕并打开下一个。

这是我在LoginViewController中的代码。

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    // Check if user is cached and linked to Facebook, if so, bypass login
    if ([PFUser currentUser] && [PFFacebookUtils isLinkedWithUser:[PFUser currentUser]]) {
        NSLog(@"Settings Screen should open automatically");
        [self _presentUserSettingsSetupViewControllerAnimated:NO];
    }
}

- (void)_presentUserSettingsSetupViewControllerAnimated:(BOOL)animated {
    NSString * storyboardName = @"Main_iPhone";
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle: nil];
    UserSettingsSetupViewController * vc = [storyboard instantiateViewControllerWithIdentifier:@"UserSettingsSetup"];
    [self presentViewController:vc animated:animated completion:nil];
}

我看到了日志消息,但是其他视图控制器没有打开 - 我仍然留在登录视图控制器中。

1 个答案:

答案 0 :(得分:1)

您正在viewDidAppear:中展示视图控制器,但您发布的代码正在viewWillAppear:中显示视图控制器。

尚未显示视图控制器的WILL与呈现视图控制器的DID之间存在差异。

相关问题