ios整理(六)寻找根控制器

1.在项目过程中,这个用的还是比较频繁的,主要是帮助寻找目标想要的那一层的根控制器。

这里我是建立的一个分类运用于项目中

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

  

猜你喜欢

转载自www.cnblogs.com/wm941142146/p/9271842.html