✨ 今天在写一个数据空白页的时候,出现一个诡异的现象,项目中有一个同事封装好的数据空白展示页面,出于程序员懒惰的心里,我直接复制同事写好的代码到自己的类中,加以修正,正常显示,没有问题,但此时,我设置一个这个空白页面的背景色,却发现怎么都没有显示。纠结开始于此。。。
✨✨✨ 为什么背景色不显示???
001.png步骤排查:
1.查看层级关系,如图002所示,发现没有该图层。
002.png正常选中对象以后,就会出现对应的图层的,如图003所示:
003.png
2.打印该空白页面的坐标,发现坐标是frame = (0 0; 0 0),如图004所示。
004.png此时,小伙伴们是否明白了呢,就是说,假如我的父视图是A,如果A没有坐标,子视图此时参照的不是A的坐标系,而是系统的坐标系,就用默认的位置了,所以就可以正常展示。
but~,虽然这里可以正常展示,但是该做法是危险的,会存在以下问题:
1.如果改视图上有交互,如按钮的点击事件,此时,该交互已经被屏蔽了,不可交互。
005.png2.此时子视图里面的控件,实际上画到外边去了,如果此时设置sectionView.clipsToBounds = YES;该视图将不会再显示了。因为该属性是吧超出父视图的控件裁剪了,如图005所示:
所以,小伙伴们,如果你们也碰到过按钮没有点击效果,除了要检查交互性外,还需看下是否是超出了父视图范围,超出父视图范围也是不可点击的哦~
网友评论