我有一个UITabViewController
嵌入了一些UIViewControllers
. 这些控制器可能有不同的preferredStatusBarStyle
.
我使用 aUIViewControllerAnimatedTransitioning+UIPercentDrivenInteractiveTransition
在使用 a 的控制器之间切换UIScreenEdgePanGestureRecognizer
。
我注意到,如果我在两个不同preferredStatusBarStyle
的控制器之间开始转换并取消转换,状态栏样式不会返回到第一个控制器首选项,但仍会保留到第二个控制器首选项。显然,如果我使用标签栏项目完成转换或在控制器之间切换,状态栏样式会正确更改。
我尝试调用setNeedsStatusBarAppearanceUpdate()
every viewWillAppear
,但状态栏没有改变。
我知道我可以使用 setter 更改状态栏样式UIApplication.shared.statusBarStyle
,但现在已弃用此方法。
我还尝试更改过渡动画,但问题并没有消失。
奇怪的是,preferredStatusBarStyle
“from”视图控制器的 ,当取消转换时,设置为正确的值,但显示为相反!