【SwiftUI】sheetに関連するmodifier一覧
概要
sheetに関連するmodifierをまとめました
一覧
presentationDetents
iOS 16.0 〜
sheetの高さを任意の高さにすることができます。
.presentationDetents([.medium, .large]`で複数セットすることができ、selectionで初期の高さを指定することもできます。
任意の高さに指定したい場合はfraction(割合)やheight(CGFloat)などでできます。
presentationContentInteraction
iOS 16.4 〜
シート上のスワイプ動作の構成ができます。
シート画面内にScrollを実装している際に挙動が変わり、デフォルトではスワイプ動作でシートサイズが変わり、最大のサイズまで達したらスクロールできますが.scrollsを指定するとスクロール動作が優先されるので最大のサイズに達せずともスクロール動作を実行することができます。(シートサイズの変更はドラッグインジケーターで行えます)
scrolls | resizes |
---|---|
presentationDragIndicator
iOS 16.0 〜
シート上のドラッグインジケーター(シート上部の灰色のバー)の表示/非表示を設定できます。
hidden | visible |
---|---|
presentationBackground
iOS 16.4 〜
シートの背景を変更することができます。
presentationBackgroundInteraction
iOS 16.4 〜
シート下にあるViewの操作の有無を指定することができます。(デフォルトは有効)
disabled | enabled |
---|---|
interactiveDismissDisabled
iOS 15.0 〜
シート外タップでシートを閉じる動作を無効にできます。また手動で閉じることができなくなります。
presentationCompactAdaptation
iOS 16.4 〜
デフォルトでは横向き時にfullScreenCoverとなるので閉じれない状況が発生しますがこのmodifierを使用してsheetを指定することで小さなシートを表示することができます。また縦と横向きそれぞれに別々のサイズを指定することもできます。
presentationCornerRadius
iOS 16.4 〜
シートの角半径を指定した値に変更できます。
最後に
以上です。その他にもあれば教えてください🙇♂️
参考URL
Discussion