У нас есть контроллер вида (A), представленный как поповер. Когда он представляет контроллер представления (B) как лист страницы, мы устанавливаем isModalInPresentation
в значение true на B, чтобы предотвратить отклонение жестом смахивания вниз. Но если установить значение true, это также приведет к изменению его на true на контроллере представления A. Поэтому после того, как лист страницы отклонен (с dismiss(animated: true, completion: nil)
), всплывающее окно нельзя отклонить, нажав за его пределы.
Мы попытались установить isModalInPresentation
обратно в false на B, прежде чем оно будет удалено (в его viewWillDisappear(_:)
), и хотя это меняет isModalInPresentation
обратно на false на A, A все еще нельзя отклонить, нажав за пределы его границ.