NavigationView - ActionSheet - ошибка EdgesIgnoringSafeArea - PullRequest
1 голос
/ 28 апреля 2020

В моем представлении есть странная ошибка пользовательского интерфейса.

Учитывая:

  1. a NavigationView
  2. ActionSheet Along
  3. с EdgesIgnoringSafeArea

Когда:

  1. Я прокручиваю, чтобы большой NavBar становился встроенным NavBar
  2. Отображение ActionSheet
  3. Прокрутка вверх

Затем:

  • Вид верхней навигационной панели теряет фон "EdgesIgnoringSafeArea".
  • Если, находясь сверху, если я снова покажу actionSheet, представление устранит ошибку

Простой код для воспроизведения ошибки:

   struct ContentView: View {
        @State private var shownSheet: ActionSheetType?

        var body: some View {
            NavigationView {
                ScrollView {
                    Color.red.frame(height: 1000)
                }.edgesIgnoringSafeArea(.top)
                    .navigationBarItems(trailing: self.barItem())
                    .actionSheet(item: self.$shownSheet, content: { sheetType in
                        switch sheetType {
                        case .add:
                            return ActionSheet(title: Text("Action Sheet"),
                                               buttons: [.cancel(Text("Cancel"))])
                        }
                    })
            }
        }

        private func barItem() -> some View {
            return Button(action: {
                self.shownSheet = .add
            }, label: {
                Text("actionSheet")
            })
        }

        private enum ActionSheetType: String, Identifiable {
            var id: String { rawValue }
            /// Add Button
            case add
        }
}

Любые идеи, которые могут быть неправым?

enter image description here

Заранее спасибо!

...