代码改变世界

【iOS解决思路】得到某个view所在的ViewController

2015-01-29 19:02  l4y  阅读(426)  评论(0编辑  收藏  举报

在一个tableViewCell中有个btn,如何得到它所在的viewcontroller,以便于push出新的viewController?

我的思路是传值,但网上有下面这种方法,分享。

跟得到某个视图上的子视图思想类似,但之前没有接触过 UIResponder,所以没有想到。

- (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;
}