iOS10以后的新技术

iOS 11 additionalSafeAreaInsets的

2017-12-08  本文已影响22人  搬砖小工

iOS 11出了安全距离一说,具体不多说了有太多适配文章,我只说明一下additionalSafeAreaInsets的适用范围,因为或许有些小伙子发现这个属性设置无效。iphoneX刚出来的时候,基本没有几篇文章说明切官方文档和stackoverflow上也有人问,但没人回答。先贴代码:

if (@available(iOS 11.0, *)) {
    self.additionalSafeAreaInsets = UIEdgeInsetsMake(-20, 0, 0, 0);
} else {
    // Fallback on earlier versions
}


    这里需要注意的是addtionalSafeAreaInset是Controller的属性,要知道SafeAreaInset的值是由哪个Controller引起的,可能是由UIViewController,可能是navigationController,也可能是UITabBarController。

    所以当你新建项目 只有一个VC的时候 直接在VC 的viewDidLoad设置就有效!
    所以当你新建项目 根视图是Nav,也就是说项目是 Nav + 默认VC的时候,直接在Nav VC 的viewDidLoad设置才有效!
    所以当你新建项目 根视图是UITabBarController,也就是说项目是UITabBarController + 多个Nav的时候,直接在UITabBarController的viewDidLoad设置才有效! 

文章只为记录一下,错误和补充请联系作者修改,不胜感激,谢谢!

上一篇 下一篇

猜你喜欢

热点阅读