zoukankan      html  css  js  c++  java
  • 获取当前最顶层的ViewController

     1 - (UIViewController *)topViewController {
     2     UIViewController *resultVC;
     3     resultVC = [self _topViewController:[[UIApplication sharedApplication].keyWindow rootViewController]];
     4     while (resultVC.presentedViewController) {
     5         resultVC = [self _topViewController:resultVC.presentedViewController];
     6     }
     7     return resultVC;
     8 }
     9 
    10 - (UIViewController *)_topViewController:(UIViewController *)vc {
    11     if ([vc isKindOfClass:[UINavigationController class]]) {
    12         return [self _topViewController:[(UINavigationController *)vc topViewController]];
    13     } else if ([vc isKindOfClass:[UITabBarController class]]) {
    14         return [self _topViewController:[(UITabBarController *)vc selectedViewController]];
    15     } else {
    16         return vc;
    17     }
    18     return nil;
    19 }
    20 使用方法
    21 
    22 UIViewController *topmostVC = [self topViewController];
  • 相关阅读:
    moment.js相关知识总结
    git相关使用解释
    .我的第一篇博客
    QT项目配置
    重载->
    内核对象同步
    模式对话框与非模式对话框
    显示与隐式类型转换
    size_t与size_type
    系统级源代码:系统裁剪
  • 原文地址:https://www.cnblogs.com/-yun/p/7416779.html
Copyright © 2011-2022 走看看