美文网首页
使用响应者链条获取导航控制器

使用响应者链条获取导航控制器

作者: 闲云悠鹤蝶恋舞 | 来源:发表于2016-05-01 20:33 被阅读37次
    OC版本:
    /// 获取导航控制器
    - (UIViewController *)getNavigationController {
        UIResponder *next = [self nextResponder];
        while (next != nil) {
            if ([next isKindOfClass:[UINavigationController class]]) {
                return (UINavigationController *)next;
            }
            next = [next nextResponder];
        }
        return nil;
    }
    
    Swift版本:
    // 遍历视图的响应者链条,获取导航视图控制器
        func navViewController()->UINavigationController? {
            // 遍历视图的响应者链条
            // 获取视图的下一个响应者
            var next = nextResponder()
            while next != nil {
                if let nextObj = next as? UINavigationController {
                    return nextObj
                }
    
                // 获取下一个响应者的下一个响应者
                next = next?.nextResponder()
            }
    
            return nil
        }
    
    

    相关文章

      网友评论

          本文标题:使用响应者链条获取导航控制器

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