トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

横向き画面でiOSのステータスバーを表示させる【Unity】

アプリ内のiOSステータスバー表示

一般的なアプリは大体ステータスバー(時間・電波・電池残量)が表示されてる

f:id:bibinbaleo:20220106212200p:plain

けど、ウマ娘はない。ウマ娘は長時間やることが多いので、時計表示欲しいなーと思ってしまう。

f:id:bibinbaleo:20220106212205p:plain

Clusterはこのネイティブで作成されてるところはステータスバーあるけど、

f:id:bibinbaleo:20220106212240p:plain

ワールドに入ったあとはない

f:id:bibinbaleo:20220106212230p:plain

オーバーレイ

Androidは上部をドラッグしたらオーバーレイでステータスバーが表示されるからなくてもいい気がする。

f:id:bibinbaleo:20220107094448p:plain

iOSは右上部をドラッグしたらこの画面になる。時計がないし、後ろが見えないので煩わしい。

f:id:bibinbaleo:20220106212218p:plain

左上部をドラッグしたらロック画面になって時計は表示される。なんでこんな設計なんだろう;;

f:id:bibinbaleo:20220112182141p:plain

Unity

Unity製だとiOSのステータスバーはデフォルトで非表示になる。自分のアプリでもそうだった(気づいてなかった)

設定で表示できるらしいが、既存のUIと被ってしまうので調整が必要とのこと

develop.hateblo.jp

設定

Resolusion and Presentation内のStatusBarのところをチェック入れる。色もDefaultとLightが選べた。Lightにしたら白が表示されるのかな?と思ったけど変わらなかった

f:id:bibinbaleo:20220112162326p:plain

あとXCodeでも設定できた

f:id:bibinbaleo:20220112162328p:plain

横向き問題

早速オンにしてビルドしたけど表示されない!!

はっ、まさか・・・横向きだと表示されない!?

縦向きにもアプリ表示できるようにしてビルドしたら縦向きの時は表示された

f:id:bibinbaleo:20220112162027p:plain

f:id:bibinbaleo:20220112162030p:plain

ググったら横向きだと表示されないのはiOS標準らしい。

AppleのSafariや写真アプリでも横にしたらStatusBarは消える;;

表示させる方法もあった

progra.blog.jp

うーん・・・

隙間問題

・起動時横画面→縦にしたらステータスバーと既存UIが被る
・起動時縦画面だとステータスバーと既存UIは被らず上に隙間ができる
横にしたらステータスバーは表示されないけど隙間はあるままなので不自然

あれ?自動で隙間できるのか・・・

セーフエリアが変わるのかな?

自分で作る

アプリ内で時計や電池残量表示させたいなら自分でUI作って表示させたほうがマルチデバイス対応的に楽かも?

iOSのをステータスバーを表示するには、既存の上部にあるUIの位置を調整しないといけないし、それはiOSのためだけの設計になってしまうし。

Rev Worldはそんな感じ

https://cdn-ak.f.st-hatena.com/images/fotolife/b/bibinbaleo/20220106/20220106171605.png

(おまけ)Show Loading Indicator

StatusBarには関係ないけどStatusBarの設定の近くにあったShow Loading Indicatorはスプラッシュ画面で左上にくるくるが表示されるらしい

f:id:bibinbaleo:20220112162331p:plain

neta-abc.blogspot.com

チェック入れてみたけど、スプラッシュ設定してないから表示されなかった

最後に

この記事で紹介されてたXcodeProjectUpdaterみたいなのいいな。こちらはもう6年以上前で更新止まってるけど、似たようなやつ探せばあるかな

kan-kikuchi.hatenablog.com