更新视图控制器之间的状态栏样式

2023-11-27

In my info.plist,我有的文件View controller-based status bar appearance set to YES

我有一个FirstViewController状态栏隐藏的地方。

In my SecondViewController I have

override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

override var prefersStatusBarHidden: Bool {
    return false
}

override func viewDidLoad() {
    super.viewDidLoad()

    setNeedsStatusBarAppearanceUpdate()
}

但是,状态栏显示出来,但是是黑色的。

我怎样才能让它正确更新?谢谢

Edit:

AppDelegate.swift还有这个

UIApplication.shared.statusBarStyle = .lightContent in didFinishLaunchingWithOptions


有一个房产位于Info.plist文件名为查看基于控制器的状态栏外观。应设置为YES。 然后在你的 UIViewController 中你应该覆盖preferredStatusBarStyle:

override var preferredStatusBarStyle : UIStatusBarStyle {
    return .lightContent
}

这里有一件需要注意的重要事情:如果您将视图控制器嵌入到 UINavigationController 中,并且您的视图控制器的preferredStatusBarStyle方法没有被调用 - 您必须通过编写如下内容来解决它:

extension UINavigationController {
    override open var preferredStatusBarStyle : UIStatusBarStyle {
        return topViewController?.preferredStatusBarStyle ?? .default
    }
}

它所做的只是向顶部控制器询问其状态栏样式,并适当更新

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更新视图控制器之间的状态栏样式 的相关文章

随机推荐

  • 插入符训练方法抱怨有问题;所有 RMSE 指标值均缺失

    在很多情况下 我在尝试安装时都会遇到此错误gbm or rpart模型 最后 我能够使用公开数据一致地重现它 我注意到使用 CV 或重复的 cv 时会发生此错误 当我不使用任何适合控件时 我不会收到此错误 有人可以解释一下为什么我总是犯错误
  • 如何使用 symPy 和 numPy 用符号替换矩阵

    我试图用方程中的两个符号代替它们各自的矩阵形式 我创建了一个换向器函数 它形成了我的表达式 t vS sy symbols t vS commutative False hS t vS eta myComm t hS dHs myComm
  • 转换为 ScheduledThreadPoolExecutor

    我还是Java的初学者 所以我对线程和并发还没有了解太多 但是 我希望能够使用 ScheduledThreadPoolExecutor 作为计时器 因为我在使用 java util Timer 和 TimerTask 时遇到问题 我对线程的
  • Eclipse 拼写引擎不存在

    我在 Windows 上使用 Eclipse 3 4 Ganymede 和 CDT 5 当集成的拼写检查器不知道某些单词时 它会建议 除其他外 将该单词添加到用户词典中的选项 如果用户词典尚不存在 拼写检查器会提供帮助配置它并显示 常规 编
  • Android导航抽屉(调用活动)与抽象MainActivity

    我想要一个 AbstractMainActivity 来创建导航抽屉 在那里我还应该处理菜单项的点击 然后调用新的活动 在这些活动中 我想再次使用相同的导航抽屉 我将使用 AbstractMainActivity 扩展子类 并以与每个子类不
  • 使用 CSS 创建光泽灯光效果

    I m trying to create a light effect with CSS and HTML only Just like this image 我不知道是否可能 或者如何做 任何帮助将不胜感激 circle border 1
  • OOP 设计:如何将数据库处理合并到应用程序对象中

    这是我经常遇到的一个设计问题 我想找到一些关于这个主题的一般见解 此处提供的代码只是一个示例 在设计阶段很容易决定您需要一个对象 User Unique ID Login name Password Full name 并且很容易将其转换为
  • 在WebKit中,如何获取资源的内容?

    我一直在编写一个 Mac 应用程序来检查每个 HTTP 请求 因此我使用 WebView 来加载请求 问题是我似乎无法弄清楚如何获取每个资源项的内容 我正在尝试通过以下方式获取资源的内容WebResourceLoadDelegate met
  • System.loadLibrary() 错误

    我成功地使用 android ndk Standalone 工具链交叉编译了一个 C 库 然后 我在 Eclipse 中创建了一个新的 Android 应用程序项目 当我将 mylib so 放入 jni 文件夹并执行 ndk build
  • 如何在 Docker 中将卷从容器挂载到主机?

    我有一个关于 Docker 中整个数据卷过程的问题 基本上这里有两个 Dockerfile 及其各自的运行命令 Dockerfile 1 Transmission over Debian Version 2 92 FROM debian t
  • R:从 GLMNet 获取 AIC/BIC/Likelihood

    我想知道是否可以从 GLMNet 获取 AIC 和 BIC 我发现 glmnet cr 似乎能够做到这一点 但我的回应是时间 而不是序数 我可以根据可能性自己计算它 但 glmnet 也不会返回 Tangential 我真的可以返回 l1n
  • 使用撰写文本进行链接

    我找不到如何链接我的Text 使用 Jetpack Compose 在撰写之前我要做的就是 Linkify addLinks myTextView Linkify EMAIL ADDRESSES or Linkify WEB URLS 显然
  • Flask-SQLAlchemy 中连接后的过滤

    我有两张桌子 location and country 正在尝试查询 在我的烧瓶应用程序中由以下模型表示 from sqlalchemy import Column DateTime ForeignKey Integer Numeric S
  • 将 URL 中的 HTTP 参数与 Android Intent Filter 相匹配

    我正在尝试组合一个意图过滤器 以便在浏览器中访问某个 HTML URL 时启动我的应用程序 当它是标准网址 例如 www stonyx com 时 我这样做没有任何问题 但是 我需要将 URL 与 HTTP 参数 如 www stonyx
  • 使用 Visual studio 2013 Professional 的 Windows Phone 8 应用程序 [重复]

    这个问题在这里已经有答案了 在将 Visual studio 2010 升级到 2012 2013 的混乱中 2013 年是创建 Windows 商店应用程序的唯一选择 但没有给出对 Windows Phone 应用程序开发的支持的清晰图片
  • 在java中将二维二进制矩阵转换为黑白图像

    我是java新手 我现在有只有 1 和 0 的 2D 二进制矩阵 我想将其保存为具有相同宽度和高度的jpg图像 黑白 我怎么能意识到这一点呢 我尝试了下面的代码但失败了 说 java lang IllegalArgumentExceptio
  • 如何建立 .NET 开发树? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 如何建立 NET 开发树 我使用这样的结构 projectname config where I put the configuration files doc where I put a
  • 当我输入“cd ~”时,“~”是什么目录?

    我刚开始使用 SSH 但是当我登录时 我最终会进入目录 通常与 FTP 进入时的目录相同 我仍然可以转到 但我不知道 是什么意思 家 它与 的关系在哪里 或者我怎样才能找到 是当前登录用户主目录的别名 要找出它到底在哪里 请输入pwd 代表
  • 两个文件包含 main() Visual Studio 的定义?

    我在 Visual Studio 2008 专业版中创建了一个项目 该项目为每个作业包含一个 cpp 文件 如下所示 Source Files 233 cpp test cpp 每个文件都包含 main 的定义 操作 CTRL F5 Err
  • 更新视图控制器之间的状态栏样式

    In my info plist 我有的文件View controller based status bar appearance set to YES 我有一个FirstViewController状态栏隐藏的地方 In my Secon