У меня есть UITabViewController
, который встраивает немного UIViewControllers
.Эти контроллеры могут иметь разные preferredStatusBarStyle
.
. Я использую UIViewControllerAnimatedTransitioning+UIPercentDrivenInteractiveTransition
для переключения между контроллерами, используя UIScreenEdgePanGestureRecognizer
.
. Я заметил, что если я начну переход между двумя контроллерами сотличается preferredStatusBarStyle
и я отменяю переход, стиль строки состояния не возвращается к первому предпочтению контроллера, а остается ко второму.Очевидно, что если я завершу переход или переключусь между контроллерами, используя элементы панели вкладок, стиль строки состояния изменится правильно.
Я пытался вызывать setNeedsStatusBarAppearanceUpdate()
в каждом viewWillAppear
, но строка состояния не меняется.
Я знаю, что могу изменить стиль строки состояния с помощью установщика UIApplication.shared.statusBarStyle
, но этот метод устарел.
Я также пытался изменить анимацию для переходов, но проблемане исчезают.
Странно то, что preferredStatusBarStyle
контроллера вида «из», когда переход отменен, устанавливается на правильное значение, но отображается как противоположное!