iPhone - 如何找到最顶层的视图控制器

  • (UIViewController*)topViewController {

return [self topViewControllerWithRootViewController:[UIApplication sharedApplication].keyWindow.rootViewController];

}

  • (UIViewController*)topViewControllerWithRootViewController:(UIViewController*)rootViewController {

if ([rootViewController isKindOfClass:[UITabBarController class]]) {

UITabBarController* tabBarController = (UITabBarController*)rootViewController;

return [self topViewControllerWithRootViewController:tabBarController.selectedViewController];

}

else if ([rootViewController isKindOfClass:[UINavigationController class]]) {

UINavigationController *navigationController = (UINavigationController*)rootViewController;

return [self topViewControllerWithRootViewController:navigationController.visibleViewController];

}

else if (rootViewController.presentedViewController) {

UIViewController* presentedViewController = rootViewController.presentedViewController;

return [self topViewControllerWithRootViewController:presentedViewController];

}

else {

return rootViewController;

}

}

相关推荐
liucan2332 小时前
JS执行速度似乎并不比Swift或者C语言慢
前端·ios
安和昂5 小时前
【iOS】 Block再学习
学习·ios·cocoa
pop_xiaoli5 小时前
OC学习—命名规范
学习·ios
Digitally9 小时前
如何在没有 iTunes 的情况下备份 iPhone
ios·iphone
刘_小_二10 小时前
iOS用Xib 之三等分以及多等分思路
ios
season_zhu11 小时前
Swift:优雅又强大的语法糖——Then库
ios·架构·swift
I烟雨云渊T20 小时前
iOS 门店营收表格功能的实现
ios
明月看潮生1 天前
青少年编程与数学 01-011 系统软件简介 07 iOS操作系统
ios·青少年编程·操作系统·系统软件
90后的晨仔1 天前
RxSwift 框架解析
前端·ios
可爱小仙子1 天前
ios苹果系统,js 滑动屏幕、锚定无效
前端·javascript·ios