【发布时间】:2020-05-01 19:36:01
【问题描述】:
当我在一个包含许多行的列表中包含一个步进器时,它会在滚动时滚动到屏幕外,布局变得完全混乱。见附图。
有人遇到过这个问题并设法解决了吗?
在 Xcode 11.3.1 / iOS 13.3 中重现的代码
struct Item: Identifiable {
let id: String
let name: String
init(_ name: String) {
self.id = UUID().uuidString
self.name = name
}
}
struct ContentView: View {
let items: [Item] = [
Item("Car"),
Item("Shoe"),
Item("House"),
Item("Pencil"),
Item("Crayon"),
Item("PC"),
Item("Spoon"),
Item("Box"),
Item("Tennis Racket"),
Item("Mobile Phone"),
Item("Hat"),
Item("Table"),
Item("Chair"),
Item("Painting"),
Item("Couch"),
Item("Desk"),
Item("Fireplace"),
Item("Stove"),
Item("Kettle"),
Item("Fork"),
Item("Knife"),
Item("Dinner Plate")
]
var body: some View {
List() {
ForEach(items) { item in
ItemRow(item: item)
}
}
}
}
struct ItemRow: View {
let item: Item
@State private var quantity: Int = 1
var body: some View {
HStack(spacing: 10) {
Text(item.name)
Stepper(onIncrement: {
self.quantity = self.quantity + 1
}, onDecrement: {
self.quantity = self.quantity - 1
}, label: {
Text("\(quantity)")
.padding()
})
}
}
}
提前致谢, 马特
【问题讨论】: