LoginSignup
2
1

More than 3 years have passed since last update.

【Unity】iOSのHome Indicatorを常に半透明にする

Last updated at Posted at 2020-08-21

HomeIndicatorを隠したい

HomeIndicatorを隠して画面をスッキリさせたい。
ただ困ったことに、HomeIndicatorは、非表示の設定にしても画面をタップすると表示される仕様のようです。
そこで、半透明にして目立たなくするようにしてみました。
HomeIndicator.gif
半透明の場合、スワイプが入力されるまで半透明を維持します。

HomeIndicatorを半透明にする

Unityの「Project Settings」→「Player」の「Other Settings」に「Hide home button on iPhone X」という項目があります。これを有効にするとHomeIndicatorを非表示にできますが、上記で述べたようにタップすると表示されてしまうので、無効になっているか確認してください。
スクリーンショット 2020-08-21 14.48.26.png
ついでに、上の項目の「Defer system gestures on edges」の「Bottom Edge」を有効にしておきます。これで、画面下端を2回スワイプしないとHomeIndicatorのアクションが実行されないようにできます。必須ではないですが、誤操作防止のためにやっておくといいでしょう。

ビルドし、XCode上で「UnityViewControllerBase+iOS.mm」を書き換えます。

UnityViewControllerBase+iOS.mm
- (BOOL)prefersHomeIndicatorAutoHidden
{
    //return UnityGetHideHomeButton();
    return NO;
}

prefersHomeIndicatorAutoHiddenでNOを返すとHomeIndicatorが半透明になります。
ちなみに、trueを返すと非表示、falseを返すと表示されるようになります。

以上で、HomeIndicatorを半透明にできます。

2
1
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
2
1