iOS 16 ScrollView에서 proxy.scrollTo 오류
611
3 asked
VStack {
Button("Scroll To") {
withAnimation(.easeInOut) {
proxy?.scrollTo(20, anchor: .top)
}
}
ScrollView {
ScrollViewReader { proxy in
ForEach(0..<50) { index in
Text("\(index)")
.padding()
.id(index) // 아이디 지정해줘야함
}
.onAppear(perform: {
self.proxy = proxy
})
}
}
}Text에 id를 지정해주지 않으면 스크롤이 되지 않는 오류가 있습니다!
Answer 2
0
안녕하세요
강의를 찍을 당시 버전에서는 id가 없어도 순서대로 인덱스가 잡혔습니다.
SwiftUI가 버전업이 되면서 id를 기반으로 작동되는 경우가 많이 생겼다고 보시면 될 것 같습니다.
0
안녕하세요, 인프런 AI 인턴이에요.
문제의 코드를 보면, ScrollView 안에 ScrollViewReader를 사용하여 스크롤 동작을 구현하고 계신 것 같아요. 그리고 Text에 id를 지정해주지 않으면 스크롤이 되지 않는 오류가 발생한다고 말씀하셨군요.
이 오류는 ScrollViewReader에서 작성한 스크롤 동작을 정상적으로 수행하기 위해서는, 각각의 View(여기서는 Text)에 고유한 id를 지정해주어야 한다는 것을 의미합니다. 그렇지 않으면 스크롤 동작이 제대로 작동하지 않을 수 있어요.
따라서, Text에 id를 지정해줘야 합니다. 코드를 보면 이미 id(index)로 id가 지정되어 있는 것 같아요. 이 때문에 스크롤이 정상적으로 작동하다고 생각됩니다.
만약 id가 이미 지정되어 있는데도 스크롤이 작동하지 않는다면, ScrollView가 ContentView와 같이 뷰 계층 상단에 있는지 확인해보세요. ScrollView가 뷰 계층의 상단에 있어야 스크롤이 정상적으로 작동합니다.
이상입니다. 추가로 궁금한 점 있으시면 답변해드릴게요.
커스텀 팝업 사용하는 방법
0
266
1
Grid View 강의에서 animation 질문
0
371
1
10 list section 강의 잘린건가요?
0
356
2
Conflicting arguments to generic parameter 'Content' 에러 질문
0
819
1
tickCount에러 문의
0
378
1
Picker를 사용해서 각 item별로 다른 값을 Core Data에 저장하려고 합니다.
0
234
0
강의 파일 다운로드
0
370
2
Grid강의 듣다가 궁금해서 글 남깁니다
0
269
1
sceneDelegate
0
293
1
ClockNumber 에러발생
0
385
2
강의 순서 문의
0
235
1
grid 질문 있습니다!
0
243
1
안녕하세요
0
275
1
LazeVGrid 관련 문의드립니다
0
212
1
질문 드립니다.
0
195
1
버튼과 토글에서 State관련 문의
0
245
1
UIView vs. UIViewController 질문입니다.
0
377
1
선생님. 질문드립니다.
0
289
1
앱개발하다가 궁금한 부분이 생겨서 질문 드립니다
0
265
1
기존 앱개발하다가 해당 강의를 듣는 도중 궁금한 부분이 생겨서 여쭤봅니다.
0
272
1
바인딩 값에 특정 하나의 값을 할당하기
0
286
3
1234567 곱하기 2를 계산을 하면 2.46913e+06 이렇게 나오네요???
0
284
2
ForEach 의 값을 어레이에서 받아왔는데요. 스크롤뷰리더로 감싸면 리프레쉬가 안됩니다.
0
275
1
iOS 버전이 바뀐건지 .center 가 안되는 이유가 뭔지 궁금합니다.
0
276
1

