Search

스크롤 뷰 스크롤 어디까지 했는지 읽어오기 - OnScroll Listener

GeometryReader 를 사용하면 가능하다.
우리는 뷰의 포지션을 읽어올 것이다. 유저가 스크롤하는동안.
아래의 패키지를 활용해 보자

먼저 패키지를 설치하고 임포트해주자.

import SwiftUITrackableScrollView
Swift
복사

그 다음 초기값을 상태변수로 선언해주자.

@State private var scrollViewContentOffset = CGFloat(0)
Swift
복사

스크롤하는 포지선을 추적가능한 스크롤뷰를 생성해준다

var body: some View { TrackableScrollView(.vertical, showIndicators: false, contentOffset: $scrollViewContentOffset) { } }
Swift
복사
이때, 인자로 currentOffset 아 위에서 선언한 상태변수를 넣어주자 ( 값이 바뀔 때마다 이를 앱이 인지하고 변경하기위해서)

onChange 메서드를 사용해 스크롤에 따른 액션이나 애니메이션을 추가한다.

@State private var scrollViewContentOffset = CGFloat(0) var body: some View { TrackableScrollView(.vertical, showIndicators: false, contentOffset: $scrollViewContentOffset) { Text("\(scrollViewContentOffset)") .onChange(of: scrollViewContentOffset, perform: { value in print("scrollViewContentOffset", scrollViewContentOffset) // Do something }) } }
Swift
복사