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;

}

}

相关推荐
健了个平_2411 小时前
iOS 27 适配笔记
ios·xcode·wwdc
Tr2e11 小时前
🐱 从 0 到 1:用 Swift 手搓一个 macOS 桌面宠物(附源码)
macos·ios·swift
iOS开发上架哦14 小时前
Jenkins 自动上传 IPA 到 App Store 把发布步骤融入 CI/CD
后端·ios
ZJPRENO15 小时前
2026 苹果 WWDC 完整总结
ios
REDcker16 小时前
WWDC2026系统更新综述
macos·ios·开发者·apple·wwdc·ipados·wwdc2026
星星电灯猴17 小时前
全面解决Charles抓取HTTPS请求响应中文乱码问题的方法与技巧
后端·ios
人月神话-Lee18 小时前
【WWDC】Core AI:iOS 端侧大模型新纪元
人工智能·ios·ai·swift·wwdc·core ai
2501_9160074719 小时前
iOS 开发工具选择指南 从编辑器、编译器到自动化构建
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
库奇噜啦呼19 小时前
【iOS】源码学习-YYModel源码学习
学习·ios·cocoa
风华圆舞20 小时前
一个 Flutter 项目同时保留 Android、iOS、HarmonyOS 支持的实践
android·flutter·ios