遍历 UIView 的所有子视图;获取子视图父控制器和父视图

// 遍历 UIView 的所有子视图

for (UIView *subView in self.view.subviews) {  
    NSLog(@"%@",subView);  
}  
// 或者
for (int i=0; self.view.subviews.count; i++) {  
    NSLog(@"%@",self.view.subviews[i]);    
} 
[self TraverseAllSubviews:self.view];  
  
//遍历父视图的所有子视图,包括嵌套的子视图  
-(void)TraverseAllSubviews:(UIView *)view {  
    for (UIView *subView in view.subviews) {  
        if (subView.subviews.count) {  
           [self TraverseAllSubviews:subView];  
        }  
        NSLog(@"%@",subView);  
            }  
}

// 获取子视图父控制器和父视图

UIView *next=self.view;
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(@"%@",next);
    NSLog(@"",nextResponder);
}
// 或者
for (UIView *next = [self.view superview]; next; next = next.superview) {
    NSLog(@"UIView---%@",next);
    if ([next isKindOfClass:[Swiper class]] && next.tag==88) {
        // TODO
    }
    UIResponder *nextResponder = [next nextResponder];
    NSLog(@"UIResponder---%@",nextResponder);
}

转载于:https://my.oschina.net/jack088/blog/1538247

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值