年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1724|回复: 0

[项目经验] 简单递归实现遍历子视图

[复制链接]
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

    发表于 2016-1-28 11:29:49 | 显示全部楼层 |阅读模式
    1、方法实现
    [Objective-C] 纯文本查看 复制代码
    /// 遍历子视图
    - (void)subviewWithBlock:(void(^)(UIView *view))aBlock
    {
        // 如果有子视图则进入循环
        for (UIView *view in self.subviews) {
            // 如果子视图不属于UIView则退出本次循环
            if(![view isKindOfClass:[UIView class]]) continue;
            // Block不为空则执行Block
            if(aBlock) aBlock(view);
            // 通过递归遍历子视图的子视图
            [view subviewWithBlock:aBlock];
        }
    }

    2、方法调用
    [PHP] 纯文本查看 复制代码
        [self subviewWithBlock:^(UIView *view) {
            // Code...
        }];
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-5-2 16:34 , Processed in 0.045070 second(s), 18 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表