iPhone

Safe area / layout by code for iPhone X, XS, XR, XS Max

zombie45 2020. 6. 10. 11:15

simple fix

let SAFE_TOP: CGFloat = UIScreen.main.applicationFrame.height >= 792 ? 22.0 : 0
let SAFE_BOTTOM: CGFloat =UIScreen.main.applicationFrame.height >= 792 ? 34.0 : 0

for ipad use below

struct Constraints {
    static var STATUS_HEIGHT: CGFloat {
        if #available(iOS 11.0, *) {
            let window: UIWindow = UIApplication.shared.windows[0]
            let safeFrame = window.safeAreaLayoutGuide.layoutFrame
            return safeFrame.minY
        } else {
            return 20
        }
    }
    static var SAFE_BOTTOM: CGFloat {
        if #available(iOS 11.0, *) {
            let window: UIWindow = UIApplication.shared.windows[0]
            let safeFrame = window.safeAreaLayoutGuide.layoutFrame
            return window.frame.maxY - safeFrame.maxY
        } else {
            return 0
        }
    }
}
반응형