inflearn logo
강의

講義

知識共有

SwiftUI - iOS14パーフェクトガイド

22 ScrollViewReader

iOS 16 ScrollView에서 proxy.scrollTo 오류

611

jomyounghoon5154

投稿した質問数 3

0


        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를 지정해주지 않으면 스크롤이 되지 않는 오류가 있습니다!

 

ios swiftui

回答 2

0

enilv0529

안녕하세요

 

강의를 찍을 당시 버전에서는 id가 없어도 순서대로 인덱스가 잡혔습니다.

SwiftUI가 버전업이 되면서 id를 기반으로 작동되는 경우가 많이 생겼다고 보시면 될 것 같습니다.

 

0

communityai8509

안녕하세요, 인프런 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

274

1

iOS 버전이 바뀐건지 .center 가 안되는 이유가 뭔지 궁금합니다.

0

276

1