iOS-获取子视图父控制器

Posted brave-sailor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS-获取子视图父控制器相关的知识,希望对你有一定的参考价值。

开发中有的时候需要涉及当前视图的父级视图,可以通过UIResponder来获取,有两种实现方式:

UIView *next=sender;
while ([next superview]) {
    next=[next superview];
    UIResponder *nextResponder = [next nextResponder];
    if ([nextResponder isKindOfClass:[UIViewController class]]&&![nextResponder isKindOfClass:[UINavigationController class]]) {
        Class cls=[nextResponder class];
        NSLog(@"ClassName:%@",cls);
    }
    NSLog(@"FlyElephant---%@",next);
    NSLog(@"FlyElephant---%@",nextResponder);
}

还有一种类似的实现方式如下:

for (UIView *next = [sender superview]; next; next = next.superview) {
    NSLog(@"UIView---%@",next);
    UIResponder *nextResponder = [next nextResponder];
    NSLog(@"UIResponder---%@",nextResponder);
}

 

以上是关于iOS-获取子视图父控制器的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 的超级视图/父视图控制器中读取子元素坐标

子视图约束到父视图 iOS

(iOS) 音频播放器作为应用程序中所有父视图控制器上的子视图控制器

切换选项卡时删除所有子视图控制器并移至父视图控制器 IOS 目标 c

在 ios 中添加视图控制器作为子视图

在 iOS 的子视图控制器中调用方法