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