iOS containerView的hidden问题

作者: 圆脸黑猫警长 | 来源:发表于2017-02-17 15:09 被阅读214次

storyboard中containerView的出现可以有效的对复杂的界面可以进行多控制器拆分,达到解耦的作用。其本质其实就是对控制器可视化的添加childViewController,但是也略有不同。

项目中有时会有隐藏containerView的需求,这时若在containerView引出的controller中对view设置hidden则会发现没有效果。在view中还是有一块透明区域被挡住。多次调试后发现,这是由于引入containerView后,首先会在原界面上先加入一个View,然后再加入的view才是真正containerView对应的控制器的view。

为了便于观察,设置为下图层级关系

层级关系.png

运行后DebugView进行观察

DebugView效果.png

发现有两个view被加到父view上了。此处即为代码添加childViewController的view的不同之处(代码添加只会有一个View添加)。
同时注意到containView的默认背景色为透明色


透明色的containView.png

如果隐藏View的时候是在黄色的controller中进行隐藏的,就会出现区域不能被点击的问提(有透明的View挡住了)。

总结:隐藏containerView的时候,一定是对containerView本身拖线到controller中进行隐藏

相关文章

网友评论

    本文标题:iOS containerView的hidden问题

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