[SwiftUI]「シート(Sheet)」の使い方

SwiftUI
スポンサーリンク

シート(Sheet)とは?

シートは、表示されている画面の上に画面を表示するものです。

シートは、普通の画面遷移やモーダル表示とは違い、画面を下にスワイプすることで画面を閉じることが出来ます。

入力画面や設定画面などの一時的に表示するビューに適しています。

使い方

コード, プログラミング, ハッキング, Html, ウェブ, データ, デザイン, 発達, プログラム

シートを使うには、sheetモディファイアを使います。

func sheet( isPresented : Binding<Bool> , onDismiss : ( ( ) -> Void)? , content : () -> Content ) -> View

isPresented : シートを表示するかどうかのフラグ
onDismiss : シートが閉じられた時の処理
content : シートで表示するビュー

isPresentedで表示・非表示を判断し、trueになった時に、シートとして「content」が表示されます。

以下は、シートを使っている例です。

    @State var showSheet = false
    
    var body: some View {
        VStack {
            Button(action: {
                
                //シートを表示
                showSheet = true
                
            }, label: {
                Text("シートを表示")
            })
                
        }
        .sheet(isPresented: $showSheet) {
          //表示するビュー
           SheetView()
        }
        
        
    }

状態変数showSheetの先頭に$を付けたのをisPresentedに指定することで、trueになった時にシートが表示されます。

そして、SheetView()が表示されます。

シートが閉じられると、自動でisPresentedの値はfalseになります。

まとめ

シート(Sheet)は、特殊なモーダル表示のようなもの。

sheetモディファイアを使って実装する。

オススメの記事

コメント

タイトルとURLをコピーしました