获取UIView所在的视图控制器(UIViewController)

(1)UIView-Extent.h

#import <UIKit/UIKit.h>

@interface UIView (Extend)

- (UIViewController *)viewController;

@end



(2) UIView-Extent.m
#import "UIView+Extend.h"

@implementation UIView (Extend)

- (UIViewController*)viewController {
    for (UIView* next = [self superview]; next; next = next.superview) {
        UIResponder* nextResponder = [next nextResponder];
        if ([nextResponder isKindOfClass:[UIViewController class]]) {
            return (UIViewController*)nextResponder;
        }
    }
    return nil;
}

@end


posted @ 2013-12-31 10:36  沙影无痕  阅读(205)  评论(0编辑  收藏  举报