根据View找控制器

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

接着还可以变形为:

- (MyTableViewCell *)findMyCell:(UIGestureRecognizer *)button
{
    for (UIView *next = [button.view superview]; next; next = next.superview) {
        UIResponder *nextResponder = [next nextResponder];
        if ([nextResponder isKindOfClass:[MyTableViewCell class]]) {
            return (MyTableViewCell *)nextResponder;
           
        }
    }
    return nil;
}
原文地址:https://www.cnblogs.com/likun123/p/4002392.html