Objective-c版本:
- (UIViewController *)appRootViewController { UIViewController *appRootVC = [UIApplication sharedApplication].keyWindow.rootViewController; UIViewController *topVC = appRootVC; while (topVC.presentedViewController) { topVC = topVC.presentedViewController; } return topVC; }
Swift版本:
func AppRootViewController() -> UIViewController? { var topVC = UIApplication.sharedApplication().keyWindow?.rootViewController while topVC?.presentedViewController != nil { topVC = topVC?.presentedViewController } return topVC? }
原文地址:http://my.oschina.net/gejw0623/blog/346083