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;

}

}

相关推荐
麒麟马8 小时前
Swift 扩展归纳---Array (一)
ios·swift
酒神dnspup8 小时前
DNSPup 免费体验监控指南:证书、DNS、IP、端口和网页一站式监控
网络协议·tcp/ip·iphone·网站监控
2501_915106329 小时前
Swift 4开发环境设置教程:xCode安装与Playground入门
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
欢迎来到祖安!10 小时前
企业微信 iPad 协议私有化方案:毫秒级事件推送与高并发承载实践
ios·企业微信·ipad
2501_9160074710 小时前
使用Apple Dashboards显示和自定iOS应用性能指标与数据可视化指南
android·ios·小程序·https·uni-app·iphone·webview
用户380341658829711 小时前
YUV→RGB 的颜色范围与矩阵:画面发灰的真凶
ios
深念Y12 小时前
黑苹果P400-直通显示折腾全记录-20260907
macos·ios·系统·黑苹果·苹果·英伟达·p400
2501_9159214312 小时前
抓包工具对比:Charles、TraceEagle、Wireshark、Fiddler 与 Proxyman
网络协议·计算机网络·网络安全·ios·adb·https·udp
97650333513 小时前
iOS 上架/审核 4.3a全面解读-最新
flutter·ios·objective-c·uniapp
2501_9151063214 小时前
Flutter iOS混淆打包详细教程与步骤
android·flutter·ios·小程序·uni-app·iphone·webview