ScrollViewReader сломался на 2-мерном ScrollView

У меня есть 2d ScrollView (вертикальный/горизонтальный), завернутый в ScrollViewReader и заполненный двумя ForEachs... прямо из книги.

Теперь кнопки не прокручиваются до указанных элементов, а, как ни странно, всегда удваивают строку, т.е. 10_10 прокручивает до 20_10, 20_20 прокручивает до 40_20, 40_40 прокручивает за пределы??

Что мне не хватает? Это проблема macOS 12.2beta?

      struct ContentView: View {
    
    var body: some View {
        ScrollViewReader { scrollProxy in
            VStack {
                HStack {
                    Button("10-10") {
                        withAnimation {
                            scrollProxy.scrollTo("10-10", anchor: .center)
                        }
                    }
                    Button("20-20") {
                        withAnimation {
                            scrollProxy.scrollTo("20-20", anchor: .center)
                        }
                    }
                    Button("40-40") {
                        withAnimation {
                            scrollProxy.scrollTo("40-40", anchor: .center)
                        }
                    }
                }
                ScrollView([.vertical, .horizontal]) {
                    VStack {
                        ForEach(0..<50) { row in
                            HStack {
                                ForEach(0..<50) { col in
                                    Rectangle()
                                        .fill(.gray)
                                        .overlay(
                                            Text("\(row)-\(col)").font(.caption)
                                        )
                                        .frame(width: 50, height: 50)
                                        .id("\(row)-\(col)")
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

0 ответов

Другие вопросы по тегам