LoginSignup
0
0

Cordova iOSでSafeAreaの有無判定で悩んだ件

Last updated at Posted at 2024-02-07

CordovaでiPhoneアプリでも作ってみようかと、ちょっと手を出してみましたが、意外なところで、つまづいたのでメモ。

iPhone X以降、画面に切り込みが入り、「ノッチ」と呼ばれる部分が存在するようになりました。それで、iPhone SEやX以前には無かった画面上部の部分を、SafeAreaと呼ぶようです。

そして、このSafeAreaの有無が簡単に取れないんです!どうして?!

そして、散々調べて解決方法を見つけたので、ここにメモっておきます。

手順(1) CSSの準備

まず、以下のCSSを作成します。

root.css
:root {
    --sat: env(safe-area-inset-top);
    --sar: env(safe-area-inset-right);
    --sab: env(safe-area-inset-bottom);
    --sal: env(safe-area-inset-left);
}

下記の通り取り込むようにしておきます。

index.html
<link rel="stylesheet" href="css/root.css">

手順(2) JSで読み込む

以下のようなコードで、SafeAreaのサイズを得られます。「0px」とか「34px」とか得られます。整数で欲しければparseInt(getSafeAreaSize())を実行します。

get_safe_area_size.js
function getSafeAreaSize() {
    return getComputedStyle(document.documentElement).getPropertyValue("--sab");
}

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0