ios之寻找当前控件根控制器
1.在项目过程中,难免会遇到些奇特的场景,特此根据object-c的特性寻找根控制器或者栈顶控制器。正所谓艺多不养人,技多不压身
UIView+Addition.h
#import <UIKit/UIKit.h> @interface UIView (Addition) //声明一下寻找跟控制器的方法 - (UIViewController *)rootViewController; @end
UIView+Addition.m
#import "UIView+Addition.h"
@implementation UIView (Addition)
- (UIViewController *)rootViewController {
//寻找下一个响应者
UIResponder *resp = [self nextResponder];
//循环判断是否为控制器
while (resp) {
//如果是则返回 下面的[UIViewController class]可以替换为你自己知道的根控制器名,意思是找到你想要的这个根控制器就停下来
if ([resp isKindOfClass:[UIViewController class]]) {
return (UIViewController *)resp;
}
//如果不是则继续寻找
resp = [resp nextResponder];
}
//
return nil;
}
@end

浙公网安备 33010602011771号