美文网首页
iOS 获取view所在的控制器

iOS 获取view所在的控制器

作者: 苏坡乔 | 来源:发表于2016-03-29 15:38 被阅读2202次

    在iOS开发中经常会在自定义view中push到下一个导航控制器,这时就需要获取当前自定义view所在的导航控制器

    - (UIViewController*)viewController {
        for (UIView* next = [self superview]; next; next = next.superview) {
            UIResponder* nextResponder = [next nextResponder];
            if ([nextResponder isKindOfClass:[UINavigationController class]]) {
                return (UIViewController*)nextResponder;
            }
        }
        return nil;
    }
    
    //获取导航控制器
    - (UINavigationController*)navigationController {
        for (UIView* next = [self superview]; next; next = next.superview) {
            UIResponder* nextResponder = [next nextResponder];
            if ([nextResponder isKindOfClass:[UINavigationController class]]) {
                return (UINavigationController*)nextResponder;
            }
        }
        return nil;
    }
    

    相关文章

      网友评论

          本文标题:iOS 获取view所在的控制器

          本文链接:https://www.haomeiwen.com/subject/hpjslttx.html