例えば、何かしらの一覧画面がありそこから詳細画面に遷移する場合を想定します。その時、一覧画面では、ステータスバーは通常の表示で問題ないが、詳細画面に遷移したときには非表示にしたい、といったときがあるかと思います。
ステータスバーとは、画面の最上部に、「時刻」「通信状況」「電池残量」などを表示してくれている部分のことです。
実装自体はそんなに難しいことはなく、とてもシンプルです。
流れとしては、info.plist
に各ViewController
ごとに表示/非表示を変更できるように設定し、非表示にしたいViewController
で非表示にするコードを記述する、これだけです。
Info.plistの編集
ステータスバーをViewController
ごとに表示/非表示を切り替える設定項目を追加します。
View controller-based status bar appearance
にYES
を設定します。
ちなみに、info.plist
を右クリックすると、「Open as」を選択出来ますので、「Source Code」もしくは、「Property List」が選択出来ます。
「Source Code」で開いた場合は、xml
形式でinfo.plist
を開くことが出来ます。実態はこちらですね。
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
これを</dict>
のすぐ上に記述すればOKです。もちろん「Property List」形式でクリックしながら選択して追加していっても問題ありません。
ViewControllerでの設定
次にステータスバーを非表示にしたいViewController
で次の記述を追加します。
override var prefersStatusBarHidden: Bool {
return true
}
以上です。
シンプルな要件の場合だとこれだけで事足ります。
ココナラというサービスをご存知ですか?
ココナラは、プログラミングやウェブ制作、デザインなどの専門知識を持つ人たちが、自分のスキルを活かしてサービスを提供する場所です。
初学者の方でも気軽に相談できるため、自分のスキルアップにも最適です。また、自分自身もココナラでサービスを提供することができ、収入を得ることができます。
ぜひ、ココナラに会員登録して、新しい世界を体験してみましょう!