У меня есть список в навигационном представлении с конечной навигационной кнопкой для добавления элемента списка. Кнопка открывает модальный лист. Когда я отклоняю лист (потянув его вниз), лист автоматически снова поднимается вверх, и я не могу вернуться к первому экрану. Вот мой код.
struct ListView: View {
@ObservedObject var listVM: ListViewModel
@State var showNewItemView: Bool = false
init() {
self.listVM = ListViewModel()
}
var body: some View {
NavigationView {
List {
ForEach(listVM.items, id: \.dateCreated) { item in
HStack {
Text(item.name)
Spacer()
Image(systemName: "arrow.right")
}
}
}
.navigationBarTitle("List Name")
.navigationBarItems(trailing: AddNewItemBtn(isOn: $showNewItemView))
}
}
}
struct AddNewItemBtn: View {
@Binding var isOn: Bool
var body: some View {
Button(
action: { self.isOn.toggle() },
label: { Image(systemName: "plus.app") })
.sheet(
isPresented: self.$isOn,
content: { NewItemView() })
}
}
Я получаю эту ошибку:
Предупреждение. Попытка представить <_TtGC7SwiftUIP13 $ 7fff2c603b7c22SheetHostingControllerVS_7AnyView_: 0x7fll5 уже 0> (0 0) уже 0> 0))
Я пытался переключать bool в пределах "onDismiss" на самой кнопке, но это тоже не работает. Есть идеи?