Проблемы с макетом SwiftUI Stepper

Когда я включаю 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()
            })
        }
    }
}

Заранее спасибо, Мэтт

Проблема с макетом шагового двигателя


person Sway    schedule 15.01.2020    source источник


Ответы (1)


Эта проблема не у тебя. Есть некоторая проблема со списком, но только на холсте. Согласно этому ответу, вы можете попробовать свой список на реальном устройстве, и он должен выглядеть как обычно. Так что попробовал на iPhone 7:

введите здесь описание изображения

person Александр Грабо&    schedule 15.01.2020
comment
Я использую iPad, и эта проблема все еще проявляется на устройстве. Спасибо за ссылку. Я переключился на использование ScrollView, как было предложено в промежуточный период, который сейчас работает нормально. - person Sway; 20.01.2020