【Swift UI】ScrollViewのスクロールを止める方法!
この記事からわかること
- Swift UIでScrollViewをスクロールさせない方法
- scrollDisabledの使い方
- iOS15以前の指定方法
- Listをスクロールさせない方法
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
環境
- Xcode:14.3.1
- iOS:16.4
ScrollViewのスクロールを動作しないようにする
Swift UIのScrollViewのスクロールを動作しないように停止させておくにはscrollDisabled
モディファイアを使用します。引数には停止させたい場合はtrue
を、スクロールさせたい場合はfalse
を指定します。
ScrollView {
//
}.scrollDisabled(true)
このモディファイアはiOS16以降からしか使用できません。
iOS15以前
iOS15以前で実装したい場合はScrollView
の引数に空の配列を渡すことでスクロールできないように設定することが可能です。
ScrollView([]) {
//
}
ScrollView
の第一引数にはAxis.Set
型でスクロールを許可する方向を渡します。デフォルト値がvertical
なのであえて空の配列を渡すことでスクロールの許可をなくすことができます。
init(
_ axes: Axis.Set = .vertical,
@ViewBuilder content: () -> Content
)
Listにも使用できる
scrollDisabled
はList
にも利用することが可能です。
List {
ForEach((1...50), id: \.self) { num in
Text("\(num)")
}
}.scrollDisabled(true)
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。