web-dev-qa-db-ja.com

iPhone Xの「安全領域」とは何ですか(ピクセル単位)、トップノッチとボトムバーを考慮しますか?

iPhone Xのヒューマンインターフェースガイドライン を読みましたが、「安全な領域」(iPhone Xのトップノッチとボトムバーの両方に対応する領域)を明確に述べていません。上部と下部から削除された寸法を含む、この領域のピクセル寸法を知りたいです。

24
OnlyCodeMatters

ポートレートで

  • トップ:44pt
  • 下:34pt
  • 左/右:0pt

ランドスケープで

  • 上:0pt
  • 下:21pt
  • 左/右:44pt

enter image description here

enter image description here

30
MoOx

現在のウィンドウのセーフエリアインセットを次のコードで印刷すると、上部および下部のセーフエリアのポイントの寸法を取得できます。

if #available(iOS 11.0, *) {
    UIApplication.shared.keyWindow?.safeAreaInsets
    // ...
}

ポートレートでは、上部の領域は44ポイントで、下部の領域は4ポイントの長さです。

IPhone Xの解像度は@ 3xであるため、上部の領域は132ピクセルで、下部の領域は102ピクセルです。

14
Tamás Sengel

Xcode 9では、セーフエリアレイアウトガイドがインターフェイスビルダーに導入されました。ストーリーボードのファイルインスペクターにアクセスして、 「セーフエリアレイアウトガイドを使用」というチェックボックスをオンにする

そこからルートビューに制約を追加するたびに、代わりに安全な領域に制約を設定するオプションが表示されます。 この写真では 、オレンジ色のビューはセーフエリアの端に制限され、青色のビューはスーパービューの端に制限されています。

  • オレンジビューのフレーム:(0.0、44.0、375.0、734.0)
  • 青いビューのフレーム:(0.0、0.0、375.0、812.0)

そこから、上部のセーフエリアに44ポイントが使用され、下部のエリアに34ポイントが使用されたと計算できます。

7
Adam Haafiz

safeAreaInsetsのビューのUIViewControllerプロパティから取得できます。

0
Enrico Susatyo