iOS13、获取控制器(或view)所在的父控制器

1、通过UIResponder获取:

//获得所在的ViewController
//如果你有base viewcontroller,则UIViewController对应的是你的base viewcontroller
- (UIViewController *)getSupreViewController
{
//此处的self.view指的是:如果你想获取的是控制器所在的父控制器,传入的是你当前控制器的view;如果想获取的是一个view的父控制器,直接传当前view本身就可以了
    for (UIView* next = [self.view superview]; next; next = next.superview) {
        UIResponder* nextResponder = [next nextResponder];
        if ([nextResponder isKindOfClass:[UIViewController class]]) {
            return (UIViewController*)nextResponder;
        }
    }
    return nil;
}

未完待续,发现好的方法持续更新。。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,805评论 1 32
  • 刘美玲 翻开《活法》一书的目录,每一小节的标题都是鼓舞人心的励志语...
    瑾心绣口阅读 5,852评论 0 0
  • 今天的命题作文是,写作营里认识一位新朋友。惭愧呀,写作营已经开始第六天了,还没开始与任何一位新朋友真正链接,除了加...
    可可简书阅读 1,638评论 2 3
  • 昨天下午出门时,我随手抓起手机放口袋里,然后去提垃圾,换上外出的鞋子,关门后想起,完了,钥匙没有拿。等下又进不了家...
    雾卉心语阅读 3,165评论 2 3
  • 俗话常说,吃亏是福。我认为,你眼中的所谓吃亏,为你带来的不过是可能别人会觉得你善良,然而呢,并没有什么用,只会...
    若那阅读 3,089评论 0 1