Похоже, что одного события недостаточно, чтобы уйти в отставку редактора, отвечающего первым, и закрыть предыдущий всплывающий элемент, поэтому состояние следующего всплывающего окна переключается, но новый всплывающий элемент не допускается, поскольку предыдущий все еще отображается на экране.
Возможен следующий обходной путь (протестировано и работает с Xcode 11.2)
}.onTapGesture {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.25) {
self.showPopover = true // delay activating new popover
}
}
Также возможно рассмотреть подход к дизайну, когда существует только один поповер, привязываемый к моделям разных подпредставлений (который мне кажется более подходящим) ) и управляется одним государством.