Skip to content

Latest commit

 

History

History
52 lines (41 loc) · 1.46 KB

README-ja.md

File metadata and controls

52 lines (41 loc) · 1.46 KB

SwiftUISheetExtension

English README: README.md

example screenshot

SwiftUI の sheet と同様に使える sheet_ を提供し、次の機能を追加します:

  • @Environment(\.dismissSheet) で現在のシートをプログラム的に閉じられる
  • interactiveDismissDisabled(true) 設定時にユーザーのシート閉じ操作をフックする onInteractiveDismissAttempt_

使い方

シートを表示する

@State private var isSheetPresented = false

Button("シートを開く") {
    isSheetPresented = true
}
.sheet_(
    isPresented: $isSheetPresented,
    onDismiss: { print("シートが閉じられました") }
) {
    SheetContentView()
}

シート内部から閉じる

@Environment(\.dismissSheet) private var dismissSheet

Button("閉じる") {
    dismissSheet()
}

閉じようとしたタイミングをフックinteractiveDismissDisabled(true) が必要)

@Environment(\.dismissSheet) private var dismissSheet

.interactiveDismissDisabled(true)
.onInteractiveDismissAttempt_ {
    showAlert = true
}
.alert("シートを閉じますか?", isPresented: $showAlert) {
    Button("キャンセル", role: .cancel) {}
    Button("閉じる", role: .destructive) {
        dismissSheet()
    }
}