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;

}

}

相关推荐
m0_495562787 分钟前
iOS的蓝牙
macos·ios·cocoa
songgeb38 分钟前
[WWDC]Why is my app getting killed 学习笔记
ios
00后程序员张1 小时前
iOS 性能优化的体系化方法论 从启动速度到渲染链路的多工具协同优化
android·ios·性能优化·小程序·uni-app·iphone·webview
shanyanwt2 小时前
1分钟解决iOS App Store上架图片尺寸问题
前端·ios
blackorbird2 小时前
iOS 18-26 越狱关键突破:实现沙箱逃逸与权限提升
macos·ios·objective-c·cocoa
游戏开发爱好者82 小时前
iPhone重启日志深度解析与故障代码诊断
android·ios·小程序·https·uni-app·iphone·webview
Digitally2 小时前
如何将备忘录从 iPhone 传输到 iPhone
iphone
TO_ZRG3 小时前
Unity-iPhone、Unity-Framework target 如何选择、@rpath报错
unity·ios·iphone
2501_9160088912 小时前
手机抓包app大全:无需root的安卓抓包软件列表
android·ios·智能手机·小程序·uni-app·iphone·webview
胖虎117 小时前
iOS 如何全局修改项目字体
ios·hook·ios字体·字体适配·ios字体适配