- (UIViewController *)topViewController{
UIViewController *vc = UIApplication.sharedApplication.keyWindow.rootViewController;
while ( [vc isKindOfClass:[UINavigationController class]] || [vc isKindOfClass:[UITabBarController class]] ) {
if ( [vc isKindOfClass:[UINavigationController class]] ) vc = [(UINavigationController *)vc topViewController];
if ( [vc isKindOfClass:[UITabBarController class]] ) vc = [(UITabBarController *)vc selectedViewController];
if ( vc.presentedViewController ) vc = vc.presentedViewController;
}
return vc;
}