我知道有一百万个这样的问题,但解决方案并不适用于我。
每个人都说,你需要推送到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];
}
我看到了日志消息,但是其他视图控制器没有打开 - 我仍然留在登录视图控制器中。
答案 0 :(得分:1)
您正在viewDidAppear:
中展示视图控制器,但您发布的代码正在viewWillAppear:
中显示视图控制器。
尚未显示视图控制器的WILL与呈现视图控制器的DID之间存在差异。