iOS-获取当前View所在的控制器

时间:2021-12-18 22:09:50

用一个分类,具体: 
.h


#import <UIKit/UIKit.h>

@interface UIView (CurrentController)

/** 获取当前View的控制器对象 */
-(UIViewController *)getCurrentViewController;

@end

 

.m

#import "UIView+CurrentController.h"

@implementation UIView (CurrentController)

/** 获取当前View的控制器对象 */
-(UIViewController *)getCurrentViewController{
UIResponder *next = [self nextResponder];
do {
if ([next isKindOfClass:[UIViewController class]]) {
return (UIViewController *)next;
}
next = [next nextResponder];
} while (next != nil);
return nil;
}

@end


应用 :

在cell中拿到 控制器 然后 可以直接在 cell中 将 下一个控制器 直接 push。 这个的巧妙利用可以很方便的对view进行封装。