HomeIndicatorを隠したい
HomeIndicatorを隠して画面をスッキリさせたい。
ただ困ったことに、HomeIndicatorは、非表示の設定にしても画面をタップすると表示される仕様のようです。
そこで、半透明にして目立たなくするようにしてみました。
半透明の場合、スワイプが入力されるまで半透明を維持します。
HomeIndicatorを半透明にする
Unityの「Project Settings」→「Player」の「Other Settings」に「Hide home button on iPhone X」という項目があります。これを有効にするとHomeIndicatorを非表示にできますが、上記で述べたようにタップすると表示されてしまうので、無効になっているか確認してください。
ついでに、上の項目の「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を半透明にできます。