美文网首页
iOS Swift适配高度-刘海屏顶部和底部非安全区高度

iOS Swift适配高度-刘海屏顶部和底部非安全区高度

作者: 薰衣香 | 来源:发表于2019-09-19 23:23 被阅读0次

    说明:heightOfAddtionalHeader为刘海屏多出来的高度,这个高度相比于非iPhoneX以及以后的设备来说多出来的部分.  

    顶部和底部额外区域的定义 整体代码

    状态栏高度:

    - 对于非iPhoneX设备来说,高度为20.0,

    - 对于iPhoneX以及以后的设备高度为44.0; 即为20.0 + heightOfAddtionalHeader(24.0);

    所以我们只需要在代码上需要考虑顶部导航栏的高度的地方加上如下代码,那么代码会自动计算导航栏高度;

    //刘海屏额外的高度

    let heightOfAddtionalHeader:CGFloat= {

        if UIDevice.current.isiPhoneXorLater(){

                return 24.0

        }else{

            return 0.0

        }

    }()

    导航栏底部:

    - 对于非iPhoneX设备来说,高度为0.0,

    - 对于iPhoneX以及以后的设备高度为34.0 ; 即为0.0 + heightOfAddtionalFooter(34.0);

    所以我们只需要在代码上需要考虑顶部导航栏的高度的地方加上如下代码,那么代码会自动计算导航栏高度;

    //底部非安全区域高度

    let heightOfAddtionalFooter:CGFloat= {

     if UIDevice.current.isiPhoneXorLater(){

     return 34.0

    }else{

     return 0.0

        }

    }()

    extension UIDevice{

    //判断设备是不是iPhoneX以及以上

     publicfuncisiPhoneXorLater() ->Bool{

     let screenHieght = UIScreen.main.nativeBounds.size.height

     if screenHieght == 2436 || screenHieght == 1792 || screenHieght ==2688 || screenHieght ==1624{

     return true

            }

     return false

        }

    }

    相关文章

      网友评论

          本文标题:iOS Swift适配高度-刘海屏顶部和底部非安全区高度

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