我有一个视图控制器,用于检查用户当前是否已通过身份验证。如果不是我以模态方式呈现登录视图控制器。
-(void)showLoginView{
UIStoryboard *storyBoard = [self storyboard];
LoginViewController *loginViewController = [storyBoard instantiateViewControllerWithIdentifier:@"LoginViewController"];
loginViewController.parentController = self;
[self presentViewController:loginViewController animated:NO completion:nil];
}
一旦用户通过身份验证,我想解雇模态登录视图控制器,但由于某种原因父视图控制器丢失了对模态控制器的引用。登录视图控制器开始使用Facebook SDK打开会话的过程。 Facebook将打开自己的用户身份验证网页视图。这可能是负责任的吗?
-(void)loginSuccess{
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
}
如果用户已成功通过身份验证,则模式登录视图将在父视图控制器上调用上述方法。但是self.presentingViewController是零。因此模态视图永远不会被驳回。有人可以帮忙说出我在这里做错了吗?
谢谢!
答案 0 :(得分:0)
喂!我很笨我正在尝试这个:
-(void)loginSuccess{
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
}
这应该是:
-(void)loginSuccess{
[self.presentedViewController dismissViewControllerAnimated:YES completion:nil];
}
注意'presentsViewController'和'presentsViewController'之间的区别。