SwiftUI步进器布局问题

时间:2020-01-15 02:56:42

标签: swiftui stepper

当我在具有很多行的列表中包含一个步进器时,它会在滚动时从屏幕上滚动下来,从而使布局变得完全混乱。请参阅附件图像。

有人遇到过这个问题并设法解决了吗?

要在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()
            })
        }
    }
}

预先感谢, 马特

Stepper Layout Issue

1 个答案:

答案 0 :(得分:0)

您不是遇到此问题的人。列表有一些问题,但仅在画布中。根据{{​​3}}的说法,您可以在真实设备上尝试使用您的列表,并且列表应该看起来正常。所以我在iPhone 7上尝试过:

this answer