LoginSignup
5
2

More than 3 years have passed since last update.

【 SwiftUI】ステータスバーを非表示にするモディファイア

Last updated at Posted at 2019-09-16

この記事は何?

いよいよ正式リリースされるXcode11から、SwiftUIフレームワークによる開発ができるようになります。
今後、Storyboardに変わって、Appleプラットフォームにおけるアプリ開発の主流になると思われるSwiftUIのTIPSを忘備録として、投稿しました。
「iPhone画面の上部にあるステータスバーを見えないようにする」方法です。

環境

macOS10.15 beta7
Xcode11 GM

ステータスバー

ステータスバーは、バッテリー残量やアンテナ感度、時刻などを表示します。
iPhoneX以降のノッチ付きデバイスでは、ノッチを挟むようになっています。

スクリーンショット 2019-09-16 12.52.38.png

没入感を重視するアプリケーションでステータスバーが表示されたままだと、クオリティを低下させる原因になるかもしれません。

Status Bar Hidden 修飾子

body 内で、トップレベルになっているビューに、statusBar(hidden:) モディファイアを設定すればスタータスバーの可視性を設定できます。

ドキュメントには
Sets the visibility of the status bar for the view.
(ビューに対するステータスバーの可視性を設定する)
とあります。

struct ContentView: View {
    var body: some View {
        Text("Hello SwiftUI")
            .font(.title)
            .foregroundColor(.primary)
            .statusBar(hidden: true)    // trueだと、ステータスバーを隠す
    }
}

ステータスバーが非表示になります。

スクリーンショット 2019-09-16 13.04.30.png

セーフエリア

画面が真っ白なのでわかりづらいですが、実はコンテンツが画面全体に表示されていません。
セーフエリアと呼ばれる領域があるからです。
没入感を最大限まで引き出すには、セーフエリアを超えてコンテンツを表示する必要があります。
詳しくは、下の投稿で解説しています。
セーフエリアを超えてコンテンツを表示する

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