В моем представлении есть странная ошибка пользовательского интерфейса.
Учитывая:
- a NavigationView
- ActionSheet Along
- с EdgesIgnoringSafeArea
Когда:
- Я прокручиваю, чтобы большой NavBar становился встроенным NavBar
- Отображение ActionSheet
- Прокрутка вверх
Затем:
- Вид верхней навигационной панели теряет фон "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
}
}
Любые идеи, которые могут быть неправым?
Заранее спасибо!