我有一个视图控制器,它检查用户当前是否经过身份验证。如果不是,我会以模态方式呈现登录视图控制器。
-(void)showLoginView{
UIStoryboard *storyBoard = [self storyboard];
LoginViewController *loginViewController = [storyBoard instantiateViewControllerWithIdentifier:@"LoginViewController"];
loginViewController.parentController = self;
[self presentViewController:loginViewController animated:NO completion:nil];
}
一旦用户通过身份验证,我想关闭模态登录视图控制器,但由于某种原因,父视图控制器失去了对模态控制器的引用。登录视图控制器开始使用 Facebook SDK 打开会话的过程。Facebook 将打开它自己的 Web 视图以进行用户身份验证。这能负责吗?
-(void)loginSuccess{
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
}
如果用户已成功通过身份验证,则模式登录视图会在父视图控制器上调用上述方法。然而 self.presentingViewController 为零。所以模态视图永远不会被解雇。有人可以帮忙告诉我在这里做错了什么吗?
谢谢!