[iOS 获取当前窗口导航控制器中栈顶viewController] 不普遍适用
来源:互联网 发布:java单点登录解决方案 编辑:程序博客网 时间:2024/05/22 06:07
项目背景
目前做MQTT多点登陆提示,弹出框目前显示于手机当前窗口
弹出框不与当前viewController有关系
问题:我需要获取当前屏幕下的viewController
项目结构特殊
目前App的结构是
MainViewController {
1.NavigationViewController1
2.NavigationViewController2
3.NavigationViewController3
}
(lldb) po self.childViewControllers<__NSArrayI 0x170245f40>(<UINavigationController: 0x12401e400>,<UINavigationController: 0x124957600>,<UINavigationController: 0x124808600>)
步骤1
为了获取当前viewController 首先要获取当前的 UINavigationController
由于是 MainViewController中 UINavigationController 以数组形式存在
通过下标获取就很简单
(这里的self == MainViewController )
//1.获取当前下标 if (!currentVCindex) { currentVCindex = 0; }// [self.childViewControllers[currentVCindex]
<UINavigationController: 0x124808600>
步骤2
获取当前 UINavigationController 下所有子控制器
[self.childViewControllers[currentVCindex] childViewControllers]
(lldb) po [self.childViewControllers[currentVCindex] childViewControllers]<__NSArrayI 0x17002e800>(<SandBaoViewController: 0x123d84940>,<TransferBeginViewController: 0x123d19640>)
步骤3
已经看到,我们获取到了子控制器,那么取到栈顶控制器就只要取数组最后一个
[[self.childViewControllers[currentVCindex] childViewControllers] lastObject]
(lldb) po [[self.childViewControllers[currentVCindex] childViewControllers ] lastObject]<TransferBeginViewController: 0x123d19640>(lldb)
以上代码 仅做参看
网络上还有许多获取当前控制器的代码 如下:
获取当前最顶层的ViewController
http://www.cocoachina.com/ios/20161013/17739.html
iOS 获取当前正在显示的ViewController
http://blog.csdn.net/worldzhy/article/details/42120929/
http://www.jianshu.com/p/949fd3dd720b
阅读全文
0 0
- [iOS 获取当前窗口导航控制器中栈顶viewController] 不普遍适用
- 获取当前控制器ViewController(Navi)
- iOS 获取当前viewController
- IOS获取当前ViewController
- iOS 获取当前的ViewController
- 在导航页面中获取当前viewController
- iOS获取当前正在显示的窗口、视图控制器、视图
- iOS 获取当前正在显示的ViewController
- iOS 获取当前正在显示的ViewController
- iOS 获取当前正在显示的ViewController
- ios 获取当前处于活动的viewController
- iOS 获取当前屏幕显示的viewcontroller
- ios-获取当前正在显示的ViewController
- iOS 获取当前正在显示的ViewController
- iOS //获取当前屏幕显示的viewcontroller
- iOS 获取当前正在显示的ViewController
- iOS-获取当前屏幕显示的ViewController
- cocos2dx 在ios下获取当前ViewController
- Windows本地搭建Jenkins实现Github上Android代码持续集成
- 装饰模式的应用
- 几种常用的设计模式(转)
- 版本更新
- 工具类APP安全性极低,极易感染手机病毒! [APP安全报告第25期]
- [iOS 获取当前窗口导航控制器中栈顶viewController] 不普遍适用
- 1.4 数据处理与可视化
- 欢迎使用CSDN-markdown编辑器
- Linux定时任务Crontab命令详解
- nodejs学习过程
- Android复制粘贴详解
- Java日期格式转换
- springmvc与dubbo和zookeeper的配置关系
- 一个简单的复制文件的方法