美文网首页
自定义递归

自定义递归

作者: 訷訷 | 来源:发表于2016-04-11 01:45 被阅读37次

以UIView的viewWithTag为例
viewWithTag底层:先找子控件,不符合就再找子控件的子控件,再不符合就子控件的子控件的子控件
例:先找子控件A1,不符合就再找子控件A1的子控件A11,再不符合就子控件A1的子控件A11的子控件A111和A112,都不符合才返回上一层找下一个控件A12和A13,还是不符合就返回上一层找A2和A3

    -A11
        -A111
        -A112
    -A12
    -A13
-A2
-A3```

@implementation UIView

  • (UIView *)viewWithTag:(NSInteger)tag {
    // 如果自己的tag符合要求,就返回自己
    if (self.tag == tag) return self;

    // 遍历子控件,查找tag符合要求的子控件
    for (UIView *subview in self.subviews) {
    if (subview.tag == tag) return subview;

      UIView *resultView = [subview viewWithTag:tag];
      if (resultView) return resultView;
    

    }
    // 找不到符合要求的子控件
    return nil;
    }
    @end

相关文章

  • JavasScript重难点知识

    JS 中的递归 递归, 递归基础, 斐波那契数列, 使用递归方式深拷贝, 自定义事件添加这一次,彻底弄懂 Java...

  • 教你如何使用 MySQL8 递归

    之前写过一篇 MySQL通过自定义函数的方式,递归查询树结构,从MySQL 8.0 开始终于支持了递归查询的语法 ...

  • 自定义递归

    以UIView的viewWithTag为例viewWithTag底层:先找子控件,不符合就再找子控件的子控件,再不...

  • 你还在为删库跑路而担忧吗

    linux rm 命令自定义 rm -rf 强制递归删除过于暴力,且删除后还无法复原。因此,我建议自定义删除文件/...

  • 培训第十一天----复杂数据类型,链表

    昨日回顾 函数定义: 自定义不能嵌套自定义!!函数名不能与系统函数重名!! 函数声明: 函数调用 递归调用一定要有...

  • PHP中一些函数方法

    php自定义函数之递归函数 php自定义函数之静态变量 php​ 使用系统内置函数 亚麻跌”是PHP学习时间处理的...

  • 江南小碧的C#教程:5、函数/递归/委托/匿名函数(Lambda

    函数 我们以自定义一个求绝对值的abs函数为例: 输出100。 递归 再来个经典的递归求斐波那契的函数: 委托 委...

  • 点击状态栏返回顶部

    1、自定义window2、转换坐标系3、递归判断该控件是否在主窗口上显示4、判断窗口的显示颜色 自定义window...

  • 5.2 枚举

    枚举值自定义类型及在switch结构中的应用 递归函数就是在函数内部进行了此函数本身的调用。读者需要注意一点,递归...

  • 自定义View:OnMeasure的重写

    自定义View的布局工作内容 测量阶段:从上到下递归地调用每个 View 或者 ViewGroup 的 measu...

网友评论

      本文标题:自定义递归

      本文链接:https://www.haomeiwen.com/subject/xkwblttx.html