シートビューにおけるドラッグインジケーターを非表示にする方法

この記事は約2分で読めます。

.presentationDragIndicator(_:)モディファイアは、シートビューなどのプレゼンテーションビュー上部に表示されるドラッグインジケータの表示をカスタマイズするために使用されます。

特に.presentationDragIndicator(.hidden)を使用すると、このドラッグインジケータを非表示にできます。プレゼンテーションの外観を変更したい場合や、ユーザーによるドラッグでのビューの閉じ方を無効にしたい場合に便利です。

表示の変化

インジケーターを非表示にした場合
参考:デフォルトでの表示

サンプルコード

シートビューで以下のモディファイアを記述するだけです。

.presentationDragIndicator(.hidden)
import SwiftUI

struct presentationDragIndicatorSmp: View {
    @State private var showingModal = false
    
    var body: some View {
        // モーダルビューの表示ボタン
        Button("Show Modal") {
            showingModal = true
        }
        .sheet(isPresented: $showingModal) {
            // モーダルに表示するビュー
            Text("This is a modal view.")
                // 背景が分かりやすいように配色を変更
                .foregroundStyle(.white)
                .presentationBackground(.blue)
                // sheetの高さを2段階に指定
                .presentationDetents([
                    // structで独自に高さを定義
                    .medium,
                    // largeサイズを指定
                    .large
                ])
                .presentationDragIndicator(.hidden)
        }
    }
}
タイトルとURLをコピーしました