美文网首页
iOS 父视图无坐标,子视图有坐标可正常展示

iOS 父视图无坐标,子视图有坐标可正常展示

作者: 翀鹰精灵 | 来源:发表于2018-12-30 14:08 被阅读14次

    ✨ 今天在写一个数据空白页的时候,出现一个诡异的现象,项目中有一个同事封装好的数据空白展示页面,出于程序员懒惰的心里,我直接复制同事写好的代码到自己的类中,加以修正,正常显示,没有问题,但此时,我设置一个这个空白页面的背景色,却发现怎么都没有显示。纠结开始于此。。。

    ✨✨✨ 为什么背景色不显示???

    001.png
    步骤排查:
    1.查看层级关系,如图002所示,发现没有该图层。
    002.png

    正常选中对象以后,就会出现对应的图层的,如图003所示:


    003.png
    2.打印该空白页面的坐标,发现坐标是frame = (0 0; 0 0),如图004所示。
    004.png

    此时,小伙伴们是否明白了呢,就是说,假如我的父视图是A,如果A没有坐标,子视图此时参照的不是A的坐标系,而是系统的坐标系,就用默认的位置了,所以就可以正常展示。

    but~,虽然这里可以正常展示,但是该做法是危险的,会存在以下问题:

    1.如果改视图上有交互,如按钮的点击事件,此时,该交互已经被屏蔽了,不可交互。

    2.此时子视图里面的控件,实际上画到外边去了,如果此时设置sectionView.clipsToBounds = YES;该视图将不会再显示了。因为该属性是吧超出父视图的控件裁剪了,如图005所示:

    005.png

    所以,小伙伴们,如果你们也碰到过按钮没有点击效果,除了要检查交互性外,还需看下是否是超出了父视图范围,超出父视图范围也是不可点击的哦~

    相关文章

      网友评论

          本文标题:iOS 父视图无坐标,子视图有坐标可正常展示

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