美文网首页
iOS导航栏、状态栏及Tabbar高度

iOS导航栏、状态栏及Tabbar高度

作者: SunshineBrother | 来源:发表于2019-09-15 13:30 被阅读0次
let KScreenSize = UIScreen.main.bounds
let KScreenWidth:CGFloat = UIScreen.main.bounds.size.width
let KScreenHeight:CGFloat = UIScreen.main.bounds.size.height

let K_Is_iPhoneX = isIPhoneX()
private
func isIPhoneX() -> Bool{
    if #available(iOS 11, *) {
        guard let w = UIApplication.shared.delegate?.window, let unwrapedWindow = w else {
            return false
        }
        if unwrapedWindow.safeAreaInsets.left > 0 || unwrapedWindow.safeAreaInsets.bottom > 0 {
            return true
        }
    }
    return false
}

///状态栏的高度
private
func getStatusBarHight() -> CGFloat {
    var statusBarHeight:CGFloat = 0
    if #available(iOS 13.0, *) {
        let statusBarManager = UIApplication.shared.windows.first?.windowScene?.statusBarManager
        statusBarHeight = statusBarManager?.statusBarFrame.size.height ?? 0
    }else{
        statusBarHeight = UIApplication.shared.statusBarFrame.size.height
    }
    return statusBarHeight
}

 
///底部安全距离
private
func getTabbarSafeBottomMargin() -> CGFloat {
    var safeBottom:CGFloat = 0
    if #available(iOS 11, *) {
        let safeArea = UIApplication.shared.keyWindow?.safeAreaInsets
        safeBottom = safeArea?.bottom ?? 0
    }
    return safeBottom
}


///导航栏高度
let kNavBarHeight:CGFloat = 44.0
///状态栏高度
let KStatusBarHeight:CGFloat = getStatusBarHight()
  
//状态栏和导航栏总高度
let kNavBarAndStatusBarHeight:CGFloat = kNavBarHeight + KStatusBarHeight
 
///底部安全距离
let KTabbarSafeBottomMargin:CGFloat = getTabbarSafeBottomMargin()
let kTabBarHeight:CGFloat = 49 +  KTabbarSafeBottomMargin

 
 

相关文章

网友评论

      本文标题:iOS导航栏、状态栏及Tabbar高度

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