我正在使用Facebook SDK来登录我的应用程序。如果用户未登录,则登录VC模态出现。一旦用户点击登录,它会向App Delegate提醒登录是否成功。如果成功,我想从应用程序委托中解除模态登录VC。我该如何做到这一点?
我正在使用Facebook SDK来登录我的应用程序。如果用户未登录,则登录VC模态出现。一旦用户点击登录,它会向App Delegate提醒登录是否成功。如果成功,我想从应用程序委托中解除模态登录VC。我该如何做到这一点?
UINavigationController *navigationController = (id) self.window.rootViewController;
[[navigationController presentedViewController] dismissModalViewControllerAnimated:NO];
如果您想检查特定的视图控制器是否正在显示(即仅在显示某个特定视图控制器时才取消显示),则可以添加检查。
UIViewController *viewController = [navigationController presentedViewController];
if ([viewController isMemberOfClass:[YourViewController class]]) {
[viewController dismissModalViewControllerAnimated:NO];
}
@property (nonatomic, strong) UIViewController *callDismissOnMeIfFaceBookFails;
- (void)dismissLoginView
{
[callDismissOnMeIfFaceBookFails dismissModalViewControllerAnimated:YES];
callDismissOnMeIfFaceBookFails = nil; // don't need it now, this unretains it
}
因此,在模态视图控制器呈现之前,呈现对象将appDelegate属性“callDismissOnMeIfFaceBookFails”设置为自身。
当用户成功登录时,登录对象向appDelegate发送消息,告诉它关闭登录视图。