zoukankan      html  css  js  c++  java
  • 获取当前AppDelegate 正在显示的UIViewController

    UIWindow+PazLabs.h (header file)

    #import <UIKit/UIKit.h>
    
    @interface UIWindow (PazLabs)
    
    - (UIViewController *) visibleViewController;
    
    @end

    UIWindow+PazLabs.m (implementation file)

    #import "UIWindow+PazLabs.h"
    
    @implementation UIWindow (PazLabs)
    
    - (UIViewController *)visibleViewController {
        UIViewController *rootViewController = self.rootViewController;
        return [UIWindow getVisibleViewControllerFrom:rootViewController];
    }
    
    + (UIViewController *) getVisibleViewControllerFrom:(UIViewController *) vc {
        if ([vc isKindOfClass:[UINavigationController class]]) {
            return [UIWindow getVisibleViewControllerFrom:[((UINavigationController *) vc) visibleViewController]];
        } else if ([vc isKindOfClass:[UITabBarController class]]) {
            return [UIWindow getVisibleViewControllerFrom:[((UITabBarController *) vc) selectedViewController]];
        } else {
            if (vc.presentedViewController) {
                return [UIWindow getVisibleViewControllerFrom:vc.presentedViewController];
            } else {
                return vc;
            }
        }
    }
    
    @end

    參考链接:http://stackoverflow.com/questions/11637709/get-the-current-displaying-uiviewcontroller-on-the-screen-in-appdelegate-m

  • 相关阅读:
    php面向对象开发的学习
    我的php感悟
    说说面向对象
    session,上传文件
    PHP构造函数的用法分析
    生成图片
    上传文件
    fetch
    ajax2
    ajax1
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7267994.html
Copyright © 2011-2022 走看看