SwiftUI Сгруппированный список Причины ошибки c Навигация - PullRequest
1 голос
/ 20 января 2020

Дизайн приложения, над которым я работаю, требует многоуровневого основного представления и единого подробного представления. Каждый из них использует сгруппированный List. Следующая проблема демонстрирует:

struct Content: View {
    let items = ["A", "B"]

    var body: some View {
        NavigationView {
            List {
                ForEach(items, id: \.self) { item in
                    NavigationLink(destination: Text(item)) {
                        Text(item)
                    }
                    .isDetailLink(false)
                }
            }
            .listStyle(GroupedListStyle())

            Text("Empty detail")
        }
    }
}

Чтобы надежно воспроизвести проблему:

  1. Включить поддержку нескольких окон
  2. Перетащите вторую копию приложения в включить многозадачность
  3. Перетащите панель многозадачности, чтобы удалить вторую копию приложения, чтобы появилось только одно окно
  4. Нажмите на элемент в мастере List

Вот результат на моем iPad Pro (тот же результат при тестировании в симуляторе iPad):

SwiftUI Navigation Bug?

Изменение listStyle на DefaultListStyle вместо GroupedListStyle исправляет проблему, но для ее устранения потребуется изменить дизайн приложения. Может быть связано с проблемой, поднятой @kontiki относительно кнопки назад , но я не вижу обходного пути. Предложения

...