Clover

SwiftUIList를 사용할 때, Scroll 기능을 비활성화 하기 위한 방법


in iOS 16 (or later)

.scrollDisabled(true) modifier를 List View에 추가해주면 간단하게 해결 가능.

struct ScrollView: View {
    var body: some View {
        List {

        }
        .scrollDisabled(true)
    }
}

iOS 16 이전 버전에서도 사용 가능한 코드

.scrollDisabled() modifier는 iOS 16.0, macOS 13.0 이후부터 사용할 수 있다.
하위 버전에서는 simultaneousGesture() modifier에 DragGesture를 비활성화 시키는 코드를 주입해서 해결할 수 있다.

struct ScrollView: View {
    var body: some View {
        List {

        }
        .simultaneousGesture(DragGesture(minimumDistance: 0), including: .all)
    }
}

[코드 출처]
Stackoverflow - SwfitUI List Make Scrolling disabled