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;

}

}

相关推荐
VicLi3 小时前
把常用 iOS 调试操作放进一个 macOS 控制台: iCATBox
ios
茶底世界之下4 小时前
雾景需要更强反差吗?用 Awaking 检查树影与雾气的平衡
ios
终端安全笔记6 小时前
下一个大版本要动的三处:更新指令、传输要求、策略写法
网络安全·ios·1024程序员节·移动设备管理
法的空间8 小时前
AI 编程时代,为什么 Dart 分析会拖慢大型项目的开发
android·flutter·ios
season_zhu8 小时前
Skills For Real Engineers 系列之二:grill,把需求想清楚,也别把自己问进死胡同
ios·ai编程
禁默11 小时前
iPhone远程控制Windows电脑哪款好?四款工具实测横评
windows·电脑·iphone
美狐美颜SDK开放平台20 小时前
准备开发直播APP?视频美颜SDK接入前的十项检查清单
android·ios·音视频·直播美颜sdk·视频美颜sdk
承渊政道1 天前
iOS远程控制电脑用什么好?iPhoneiPad远程控制Windows电脑最佳方案2026横评
windows·ios·远程控制·1024程序员节·iphone ipad
茶底世界之下1 天前
彩色建筑适合转黑白吗?用 Awaking 检查颜色消失后的层次
ios
黑科技iOS上架1 天前
App Store 26年10月新应用审核放缓大量应用不进审
ios·审核