1. - (UIViewController *)getCurrentVC
  2. {
  3. UIViewController *result = nil;
  4. UIWindow * window = [[UIApplication sharedApplication] keyWindow];
  5. if (window.windowLevel != UIWindowLevelNormal)
  6. {
  7. NSArray *windows = [[UIApplication sharedApplication] windows];
  8. for(UIWindow * tmpWin in windows)
  9. {
  10. if (tmpWin.windowLevel == UIWindowLevelNormal)
  11. {
  12. window = tmpWin;
  13. break;
  14. }
  15. }
  16. }
  17. UIView *frontView = [[window subviews] objectAtIndex:0];
  18. id nextResponder = [frontView nextResponder];
  19. if ([nextResponder isKindOfClass:[UIViewController class]])
  20. result = nextResponder;
  21. else
  22. result = window.rootViewController;
  23. return result;
  24. }
  1. - (UIViewController *)getPresentedViewController
  2. {
  3. UIViewController *appRootVC = [UIApplication sharedApplication].keyWindow.rootViewController;
  4. UIViewController *topVC = appRootVC;
  5. if (topVC.presentedViewController) {
  6. topVC = topVC.presentedViewController;
  7. }
  8. return topVC;
  9. }
  10. 如果是在AppDelegate中
  11. 如果是用UINavigationController来组织页面结构的话可以使用:

    ((UINavigationController*)appDelegate.window.rootViewController).visibleViewController;

    如果是用UITabBarController来组织页面结构的话:

    ((UITabBarController*)appDelegate.window.rootViewController).selectedViewController;

iOS 获取当前展示的页面的更多相关文章

  1. [iOS]一行代码集成空白页面占位图(基于runtime+MJRefresh思想)

    2018年01月03日阅读 2472   [iOS]一行代码集成空白页面占位图(基于runtime+MJRefresh思想) LYEmptyView 此框架是本人在5,6个月前,公司启动新项目的时候, ...

  2. yii2获取登录前的页面url地址--电脑和微信浏览器上的实现以及yii2相关源码的学习

    对于一个有登录限制(权限限制)的网站,用户输入身份验证信息以后,验证成功后跳转到登录前的页面是一项很人性化的功能.那么获取登录前的页面地址就很关键,今天在做一个yii2项目的登录调试时发现了一些很有意 ...

  3. iOS获取设备唯一标识的8种方法

    8种iOS获取设备唯一标识的方法,希望对大家有用. UDID UDID(Unique Device Identifier),iOS 设备的唯一识别码,是一个40位十六进制序列(越狱的设备通过某些工具可 ...

  4. iOS 获取文件的目录路径的几种方法 [转]

    iOS 获取文件的目录路径的几种方法 2 years ago davidzhang iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. d ...

  5. iOS获取设备型号、装置类型等信息

    iOS获取设备型号.设备类型等信息 设备标识 关于设备标识,历史上盛行过很多英雄,比如UDID.Mac地址.OpenUDID等,然而他们都陆陆续续倒在了苹果的门下.苹果目前提供了2个方法供App获取设 ...

  6. Swift3.0 iOS获取当前时间 - 年月日时分秒星期

    Swift3.0 iOS获取当前时间 - 年月日时分秒星期func getTimes() -> [Int] { var timers: [Int] = [] // 返回的数组 let calen ...

  7. IOS 获取最新设备型号方法

    1.IOS 获取最新设备型号方法列表最新对照表:http://theiphonewiki.com/wiki/Models方法: #import "sys/utsname.h” struct ...

  8. ios 获取通讯录的所有信息

    iOS获取通讯录全部信息 ABAddressBookRef addressBook = ABAddressBookCreate(); CFArrayRef results = ABAddressBoo ...

  9. 关于html5与jsp页面同样的html代码展示的页面效果不一样的问题

    原文:关于html5与jsp页面同样的html代码展示的页面效果不一样的问题 html5默认的声明为 <!DOCTYPE html> jsp默认的声明头部为 <%@ page con ...

随机推荐

  1. Codeforces Round #292 (Div. 2) C. Drazil and Factorial

    题目链接:http://codeforces.com/contest/515/problem/C 给出一个公式例如:F(135) = 1! * 3! * 5!; 现在给你一个有n位的数字a,让你求这样 ...

  2. python spark 配置

    前提:已经装好 java 1.8 和 hadoop 2.7 1. 下载解压放后的目录 /Users/gao/spark-1.4.1-bin-hadoop2.6 2. 在~/.bash_profile ...

  3. MySQL的InnoDB索引原理详解 (转)

    摘要: 本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节. InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档).本着高效学习的目的,本 ...

  4. iOS开发——多线程篇——NSOperation(基于GCD多线程编程),下载图片并合成新图片

    一.NSOperation的基本概念1.简介NSOperation的作用配合使用NSOperation和NSOperationQueue也能实现多线程编程 NSOperation和NSOperatio ...

  5. 操作PDF文件的关键技术点

    一个PDF文档从大到小可以分成如下几个要素:文档.章节.小节.段落.表格.列表. com.lowagie.text.Document表示PDF文档.必须为它创建一个PDF写入器,即com.lowagi ...

  6. word20161203

    B-channel / B 信道 B-ISDN, broadband integrated services digital network / 广播综合业务数字网络 backbone router  ...

  7. 初识Flask

    首先在学习flask的前提,我是使用了很久的django和tornado,现在在写总结也是本着工作后方便使用flask 少点东西,对flask的介绍和优点总结 1.安装 pip install fla ...

  8. Intellij IDEA + Jrebel

    Jrebel java热部署神器! 如果你没用过这里一句白话说明,就是在修改了class等源文件后无需重启web容器(如Tomcat)直接生效! 找到以后 安装... 然后 激活地址 :http:// ...

  9. neutron用linux_bridge部署provider网络

    网卡配置: # The loopback network interface auto lo iface lo inet loopback # The primary network interfac ...

  10. 【GoLang】GoLang 错误处理 -- 使用异常的思路进行处理

    go处理错误的另一种方式 go处理错误常见的方式是 err := funcReturningError() if err != nil { // 处理错误 } 然而因为过于繁琐而饱受诟病.下文简述另一 ...