SwiftUI: список данных исчезает после закрытия листа - PullRequest
1 голос
/ 20 марта 2020

У меня есть список горизонтальных изображений. И маленькая кнопка профиля / настроек в панели навигации. Когда вы нажимаете кнопку профиля, представление листа перемещается вверх, а когда вы закрываете его, список, кажется, теряет свои ячейки (в основном HStacks других изображений)

Вот код, который отображает лист и список

    var body: some View {
        NavigationView {
            List {
                ForEach(0..<self.categories.count) {
                    ExploreRow(title: self.categories[$0])
                }
            }
            .navigationBarTitle("Justview")
            .navigationBarItems(trailing: profileButton)
            .sheet(isPresented: self.$showingProfile) {
                Text("User Profile: \(self.userData.userProfile.username)")
            }
        }
    }

ExploreRow - это, по сути, горизонтальный стек в виде прокрутки, который отображает изображения, загруженные из Интернета.

Перед изображением листа:

enter image description here

После Листа отклонить изображение:

enter image description here

1 Ответ

0 голосов
/ 20 марта 2020

Я полагаю, что в List не так много categories (так как их не должно быть много), поэтому самый простой - просто список принудительного перестроения (предположим, что в ExploreRow.init нет ничего тяжелого, например,

List {
    ForEach(0..<self.categories.count) {
        ExploreRow(title: self.categories[$0])
    }.id(UUID())
}
.navigationBarTitle("Justview")

* Проблема связана с многократным использованием кэшированных строк, как известно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...