ios - iOS13状态栏背景色与大文本模式下导航栏不同

标签 ios storyboard uistoryboard ios13

Problems demo

重现问题的前提条件:

  1. Xcode 11 beta + iOS 13(最新版本截至 2019 年 6 月 12 日)
  2. 导航栏为大文本模式
  3. 指定导航栏的颜色。

在真实设备中,状态栏将保持为白色,位于绿色导航栏上方。

我尝试过的解决方案:

  1. 恢复到 iOS12 会解决问题,但我们最终会遇到 iOS13...
  2. 禁用大文本模式将解决它...
  3. 隐藏状态栏会修复它,但会导致状态文本与导航栏项目重叠。

有什么想法吗?感谢任何帮助。

最佳答案

这里不需要技巧或技巧。关键是定义所需的外观并在导航栏的 standardAppearance 及其 scrollEdgeAppearance 上设置此值。我在我的整个应用程序的基本导航 Controller 子类的初始化中有以下内容:

if #available(iOS 13.0, *) {
    let navBarAppearance = UINavigationBarAppearance()
    navBarAppearance.configureWithOpaqueBackground()
    navBarAppearance.titleTextAttributes = [.foregroundColor: UIColor.white]
    navBarAppearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white]
    navBarAppearance.backgroundColor = <insert your color here>
    navigationBar.standardAppearance = navBarAppearance
    navigationBar.scrollEdgeAppearance = navBarAppearance
}

enter image description here

关于ios - iOS13状态栏背景色与大文本模式下导航栏不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56556254/

相关文章:

ios - 尝试让我的 CoreData 显示在我的应用程序中

objective-c - 使用尺寸等级时无法加载 View

ios - 如何使用 Storyboard停止 UINavigationBar 默认后退按钮动画?

ios - 如何重定向到一个页面

objective-c - 你如何调整(视觉上,而不是以编程方式) Storyboard中 UISplitViewController 的详细 View ?

objective-c - 释放没有指针的对象?

ios - 自动布局:缩放以填充不起作用

ios - 显示您关注的用户的帖子 - swift

iphone - 为什么Objective C中的以下代码无法模拟 'message sent to deallocated instance '

uisplitviewcontroller - 使用 Storyboard的具有多个详细 View 的 Splitview。看过示例/教程吗?