[iOS]Masonry适配SafeArea

本文介绍了iOS11引入的安全区域SafeArea概念,用于解决刘海屏设备上的布局适配问题。文章详细阐述了如何使用SafeAreaLayoutGuide进行布局,并探讨了在Masonry框架下如何简便地实现针对SafeArea的布局,以确保子视图在安全区域内正确显示。
摘要由CSDN通过智能技术生成

一、什么是SafeArea

SafeArea:翻译中文语义即为安全区域,大家应该都不陌生,它是在iOS11引入的一个概念,在iPhoneX 等刘海屏出来之前,开发者如果想在一个ViewController的view上面添加子控件,只需要考虑我们想要添加的子控件距离屏幕上、下的边界。也就是在iOS7当中引入的两个属性:topLayoutGuide和bottomLayoutGuide。如果ViewController是被包裹在NavigationController或者SatusBar是可见的情况下,这两个属性就是分别表示子控件不被导航栏或状态栏挡住的区域。

在Apple发布了iPhoneX之后,针对横竖屏我们发现仅仅依靠上面两个属性是不能满足视图的布局的。在竖屏情况下,我们要针对上边的刘海和底部的Home Indicator做适配。在横屏的情况下我们要考虑左、右边(刘海)和底部(Home Indicator)的适配。苹果为了方便开发者做这方面的适配,特别针对UIView引入了safeAreaLayoutGuide属性。API对它的解释是:The layout guide representing the portion of your view that is unobscured by bars and other content.也就是说它是一个布局指南,这个布局指南使得我们对view的布局不受一些bar或者其他内容的遮挡。我们可以这么理解:所谓的安全区域就是safeAraeLayoutGuide这个虚拟的view所显示的区域,所有子控件只要是在这个虚拟的view之内都可以被完整的显示出来。

 

二、针对safeAreaLayoutGuide布局

 

我们考虑一下这个场景:在一个ViewController中的view上,我们想要

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值