Ios9 Storyboard引用了一个新的安全区域UILayoutGuide的概念、主要用来帮助用户来隔离状态栏、导航栏、Tabbar的一个作用。
但是在我们日常搭建的项目中经常会有一个需求需要将页面的展示显示在全屏、如果使用UILayoutGuide的安全距离我们会发现当隐藏导航栏之后上面会有一个状态栏的安全距离留出来。
解决的办法是将Top Space to 这条约束改成Superview,同时将上边距改成0。
这样就实现了我们想要的效果。
总结一下:
1.iOS7: topLayoutGuide/bottomLayoutGuide,利用一个虚拟的view初步解决导航栏,tabbar的隔离问题。
2.iOS9:有了虚拟view的思路,又考虑能不能去除top/bottom概念的局限性,让开发者都可以灵活自定义这个隔离区域,又提供一些更方便简洁易懂的API方便进行代码自动布局,于是有了UILayoutGuide这个类。。
3.两年后的iOS11,有了iPhone X,苹果工程师顺理成章的将他们在iOS9的探索成果利用起来,他们自定义了一个UILayoutGuide,给开发者提供了一个只读属性的safeAreaLayoutGuide,并且提出安全区域的概念。
借用某大佬的文章提供了一些思路,文章写的很好有兴许的可以去看看storyboard的前世今生