🗒️

【SwiftUI】sheetに関連するmodifier一覧

2024/01/28に公開

概要

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

https://developer.apple.com/documentation/swiftui/modal-presentations

Discussion