Обход, который я даю, состоит в том, чтобы не дать пользователю переключиться на другую вкладку, пока эта вкладка показывает представленный контроллер представления:
я есть UITabBarController с настройкой 4 viewControllers.
Один из контроллеров имеет кнопку, которая представляет другой контроллер (обернутый в UINavigationController) со следующей настройкой:
self.definesPresentationContext = true
navController.modalPresentationStyle = .overCurrentContext
navController.modalTransitionStyle = .crossDissolve
self.present(navController, animated: true)
До этого момента работает нормально.
Теперь, если я переключусь на другую вкладку (пока открыт предыдущий модальный режим) и снова вернусь к вкладке, на которой представлен модальный режим (экран все еще там, это нормально). Затем, если я закрываю модальное окно (с помощью кнопки), модальное окно отклоняется, но представление контроллера исчезает (белое), затем, если я переключаюсь на другую вкладку и снова возвращаюсь на вкладку, представление загружается правильно.
Примечание: для этого случая мне нужноoverCurrentContext
, не хочу блокировать UITabBarController (сfullScreen
) .. Также попробуйте с.currentContext
, custom