您的位置:首页 > 移动开发 > IOS开发

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];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: