swift - 使用弹出框打开页面时防止更改状态栏
问题描述
我用弹出框以编程方式打开一个页面,应用程序的主题很轻,所以状态栏标签是黑色的。但是当弹出窗口打开时,状态栏的标签也会变白,在状态栏中什么也看不到。
这是截图 链接
这是打开popover的代码
func showlistCard() {
let vc = ContainerlistCard()
vc.modalPresentationStyle = .popover
present(vc, animated: true, completion: nil)
}
然后我搜了一下,发现可以用这些代码改变状态栏的样式
public override var preferredStatusBarStyle: UIStatusBarStyle {
return .default
}
并且在viewWillAppear
if #available(iOS 13.0, *) {
overrideUserInterfaceStyle = .light
}
我在两个页面中都添加了它,打开弹出框的页面和打开的页面,它们都不适合我。有什么建议吗?非常感谢
解决方案
如果您尝试为整个应用程序设置状态栏,您需要做的就是:
- 在 Info.plist 中设置
View controller-based status bar appearance
为NO
- XCode 选择项目的左侧 > 目标 > 选择您的项目 > 在常规 > 部署信息 > 选择状态栏样式:轻
推荐阅读
- assembly - ARM中MSR和MRS指令的扩展是什么
- android - 如何在 ArCore Android 中隐藏 SFB 文件中的子网格
- regex - 如何在 perl 中将 XX1/XXSomething/XX1/Something 之类的模式更改为 XXSomething/XX1/Something
- vb.net - 如何在字符串列表中对字符串类型日期进行排序?
- javascript - 无法为我的反应应用禁用 LiveReloading webapck 开发服务器
- python - 如何获取外键对象以在 django rest 框架中显示完整对象
- activiti - Activiti:添加任务局部变量即席
- python - 使用递归实现二分查找功能
- c - 在 C 程序中列出全局数组变量
- php - 在 opencart home.twig 上显示不同类别的产品