Mic*_*cky 11 ios uistatusbar swift ios13
我想在iOS 13上的每个ViewController级别上更改状态栏样式。到目前为止,我没有任何运气。
我在info.plist中定义UIUserInterfaceStyle为Light(因为我不想支持暗模式),并设置UIViewControllerBasedStatusBarAppearance为true。preferredStatusBarStyle在我的ViewController上调用,但被完全忽略。在UIUserInterfaceStyle似乎永远覆盖VC偏好。如何在iOS 13上使用每个ViewController状态栏样式?还是不再支持?
bez*_*dam 17
iOS 13.2,斯威夫特 5.1
对我来说,之前提到的解决方案没有任何效果。5 小时后,我结束了 modalPresentationCapturesStatusBarAppearance flag 。
destinationNavigationController.modalPresentationCapturesStatusBarAppearance = true
sourceViewController.present(destinationNavigationController, animated: animated, completion: nil)
Run Code Online (Sandbox Code Playgroud)
在此之后preferredStatusBarStyle,在介绍的VC中调用。
override var preferredStatusBarStyle: UIStatusBarStyle {
if #available(iOS 13.0, *) {
if traitCollection.userInterfaceStyle == .light {
return .darkContent
} else {
return .lightContent
}
} else {
return .lightContent
}
}
Run Code Online (Sandbox Code Playgroud)
我在 iOS13 上遇到了同样的问题,但在 iOS12 上我的应用程序没问题。我有一个 TabBarController,其中包含 3 个 NavigationBarController,并且我呈现了以前的 ViewController 中的 TabBarController。我通过在演示时将 .modalPresentationStyle 设置为 .fullScreen 来修复此问题:
tabbarController.modalPresentationStyle = .fullScreen
Run Code Online (Sandbox Code Playgroud)
也许它会以某种方式帮助你......
| 归档时间: |
|
| 查看次数: |
4774 次 |
| 最近记录: |