Swift
swift4
ios11
iPhoneX

iPhone Xの角丸スクリーンの判定

More than 1 year has passed since last update.

iPhone Xのスクリーンは長方形ではない。角丸になって上がへっこんでいる。
これに対応をするために長方形か、それともiPhone Xのような画面であるかの判定をしたい(たまにはそんなこともあろう)。

判定にはwindowのsafeAreaInsetsをつかって、これが0であれば長方形、0でなければiPhone Xのような形のはずだ。

func isiPhoneXScreen() -> Bool {
    guard #available(iOS 11.0, *) else {
        return false
    }

    return UIApplication.shared.windows[0].safeAreaInsets != UIEdgeInsets.zero
}

(iPhone Xの次はどんな形になるのかよくわからんので、来たら対応にするしかないな。。。)

this3.png