iOS之获取当前view的控制器、当前应用的tabbarController、navigationController中指定viewController
2017-04-24 21:50
393 查看
-------------获取当前view的控制器--------------@interface UIView (CurrentController)-(UIViewController *)getCurrentViewController;@end#import "UIView+CurrentController.h"@implementation UIView (CurrentController)-(UIViewController *)getCurrentViewController{ UIResponder *next = [self nextResponder]; do {if ([next isKindOfClass:[UIViewController class]]) { return (UIViewController *)next; } next = [next nextResponder]; } while (next !=nil); returnnil;}@end
-----------------获取当前应用的tabbarController-----------------
在APPdelegate中获取tabbarcontroller;LYMainTabBarController *mt=(LYMainTabBarController *)[UIApplication sharedApplication].delegate.window.rootViewController; NSLog(@"---在APP的类gate中获取tabbarController---%@",mt.viewControllers[2].tabBarItem.title);</span> 在控制器中获取tabbarController的viewcontroler,
[self.navigationController.tabBarController.viewControllers[2].tabBarItem setBadgeValue:@"1"];
-----------获取navigationController层级中的viewcongtroller---------------
http://blog.csdn.net/u011146511/article/details/78221865
方法一:for (UIViewController *controllerin self.navigationController.viewControllers) { if ([controllerisKindOfClass:[GetMoneyVCclass]]) { GetMoneyVC *revise =(GetMoneyVC *)controller; [self.navigationControllerpopToViewController:reviseanimated:YES]; } }
方法二:
rootViewcontroller是数组中的第0个元素;下一级就是第一个元素,一次类推
UIViewController *viewCtl = self.navigationController.viewControllers[1]; [self.navigationController popToViewController:viewCtl animated:YES];
-----------------获取当前应用的tabbarController-----------------
在APPdelegate中获取tabbarcontroller;LYMainTabBarController *mt=(LYMainTabBarController *)[UIApplication sharedApplication].delegate.window.rootViewController; NSLog(@"---在APP的类gate中获取tabbarController---%@",mt.viewControllers[2].tabBarItem.title);</span> 在控制器中获取tabbarController的viewcontroler,
[self.navigationController.tabBarController.viewControllers[2].tabBarItem setBadgeValue:@"1"];
-----------获取navigationController层级中的viewcongtroller---------------
http://blog.csdn.net/u011146511/article/details/78221865
方法一:for (UIViewController *controllerin self.navigationController.viewControllers) { if ([controllerisKindOfClass:[GetMoneyVCclass]]) { GetMoneyVC *revise =(GetMoneyVC *)controller; [self.navigationControllerpopToViewController:reviseanimated:YES]; } }
方法二:
rootViewcontroller是数组中的第0个元素;下一级就是第一个元素,一次类推
UIViewController *viewCtl = self.navigationController.viewControllers[1]; [self.navigationController popToViewController:viewCtl animated:YES];
相关文章推荐
- [iOS 获取当前窗口导航控制器中栈顶viewController] 不普遍适用
- 获取iOS应用中当前处于Activity状态的ViewController
- 获取iOS应用中当前处于Activity状态的ViewController
- 【iOS开发】获取当前view(视图)所在的Controller(控制器)
- 获取iOS应用中当前处于Activity状态的ViewController
- IOS-指定返回Modal的控制器presentViewController
- iOS 如何获取应用当前的控制器 UIWindow & UIWindowLevel笔记
- iOS 获取当前的ViewController的方法
- iOS-View中或者任意类中获取当前控制器
- IOS获取当前ViewController
- iOS-获取当前View所在的控制器
- iOS 下面获取当前栈中的控制器,以方便在子view中做操作
- iOS开发 获取当前视图最顶层的ViewController
- iOS开发 - 获取当前View最顶层的ViewController
- iOS 利用visibleViewController和topViewController获取当前显示的页面区别
- iOS如何获取当前View所在控制器的方法
- iOS开发 获取当前正在显示的ViewController(包含Push的和presented的)
- iOS-获取当前View所在的控制器
- iOS 获取当前的ViewController
- iOS 获取当前正在显示的ViewController