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

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

你可能感兴趣的:(iOS13、获取控制器(或view)所在的父控制器)