1. ホーム
  2. アイオス

[解決済み】セーフエリアインセットの上下の高さを取得する

2022-04-03 08:27:42

質問

新しいiPhone Xで、安全でない部分の上下両方の高さを取得する最も適切な方法は何でしょうか?

解決方法は?

これを試してみてください。

オブジェクティブC

if (@available(iOS 11.0, *)) {
    UIWindow *window = UIApplication.sharedApplication.windows.firstObject;
    CGFloat topPadding = window.safeAreaInsets.top;
    CGFloat bottomPadding = window.safeAreaInsets.bottom;
}

スウィフト

if #available(iOS 11.0, *) {
    let window = UIApplication.shared.keyWindow
    let topPadding = window?.safeAreaInsets.top
    let bottomPadding = window?.safeAreaInsets.bottom
}

Swift - iOS 13.0 以降

// Windows 配列の最初の要素を KeyWindow として使用する deprecated

if #available(iOS 13.0, *) {
    let window = UIApplication.shared.windows.first
    let topPadding = window.safeAreaInsets.top
    let bottomPadding = window.safeAreaInsets.bottom
}