#list #dynamic #foreach #swiftui #rotation
#Список #динамический #foreach #swiftui #поворот
Вопрос:
С помощью приведенного ниже кода SwiftUI (Xcode 12.2) после прокрутки списка в заданной строке поворот устройства вызывает переход к другой строке.
import SwiftUI
struct ContentView: View {
var body: some View {
List(10...90, id: .self) { i in
VStack {
ForEach(1...9, id: .self) { j in
Text("item (i).(j)")
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Пожалуйста, как сделать отображение текущей строки не чувствительным к повороту устройства?
Эта проблема появляется только при прокрутке списка между каждым поворотом.
Ответ №1:
Я думаю, что это как-то связано со смещением списка, я не совсем уверен, почему. Решением может быть использование ScrollView вместо этого, что кажется более динамичным.
var body: some View {
ScrollView {
ForEach(10...90, id: .self) { i in
VStack {
ForEach(1...9, id: .self) { j in
Text("item (i).(j)")
}
}
.frame(maxWidth: .infinity, alignment: .leading)
Divider()
}
}
}