У меня есть ScrollView с HStack объектов Rectangle (с рамкой только для видимости).Вот код:
var body: some View {
ScrollView([.horizontal]) {
HStack(alignment: .top, spacing: 4.0) {
ForEach(0..<3) { _ in
Rectangle()
.foregroundColor(.gray)
.border(Color.red, width: 8)
.frame(width: 140, height: 140)
}
}
.frame(width: 140*3 + 4.0*3, height: 140)
}
}
Когда я настраиваю ScrollView, чтобы разрешить горизонтальную и вертикальную прокрутку (через инициализатор ScrollView([.horizontal, .vertical])
), он изменяет размеры объектов соответствующим образом и прокручивает по горизонтали, отскакивая по вертикали:
Отскок, однако, не идеален, поэтому я бы хотел, чтобы он просто прокручивался по горизонтали, не отскакивая по вертикали, - но когда я настраиваю его, чтобы разрешить горизонтальныйпрокручивая (ScrollView([.horizontal])
), он заканчивает тем, что обрезает содержимое внизу и прокручивает по вертикали для отображения содержимого:
Прежде чем я отправлю этокак ошибка в Feedback Assistant, я хотел убедиться, что я не пропускаю что-то простое.Я сделал , чтобы увидеть это примечание о ScrollViews в примечаниях к выпуску:
ScrollView не всегда имеет размер, соответствующий ожидаемому для его содержимого.(49204262)
Обходной путь: измените размер представления внутри ScrollView, применив модификатор frame (width: height: alignment :) к внутреннему виду.(49204262)
Но я применил модификатор frame(width:height:alignment:)
к внутреннему HStack, и он все еще отключается в этой ситуации, поэтому мне интересно, если это еще одна ошибка или я пропускаючто-то простое.