본문 바로가기
Dev/iOS

[SwiftUI] ScrollViewReader

by steady.dev 2021. 10. 29.

iOS 14에서 새로 추가된 ScrollViewReader는 ScrollView에서 Scoll to Bottom, Scroll to Top과 같이 ScrollView에서 특정 위치로 스크롤을 할 수 있도록 해주는 View 이다.

 

아래 예제 코드와 같이 사용할 수 있다.

import SwiftUI

struct ContentView: View {
	
    // 단순 커스텀 모델 데이터
    var list: [CustomItem]
    
    var body: some View {
        ScrollViewReader { scrollView in
            ScrollView {
                Button("Scroll to bottom") {
	                withAnimation {
    	                scrollView.scrollTo(list.count - 1, anchor: .center)
                    }
                }

                ForEach(list) { item in
                    Text("\(item.id)")
                        .id(index)
                }
            }
        }
    }
}

 

scrollview.scrollTo를 이용해서 특정 인덱스로도 이동할 수 있다.

 

 

ScrollViewReader와 ScrollView의 위치를 변경해도 동일한 동작을 하는 것 같은데 이 부분은 좀 더 확인이 필요할 것 같다.

 

댓글