Problems demo

重现问题的前提条件:

  1. Xcode 11测试版+iOS 13(2019年6月12日最新版本)
  2. 导航栏处于大文本模式
  3. 指定导航栏的 colored颜色 .

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

我try 过的解决方案:

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

有什么主意吗?感谢您的帮助.

推荐答案

这里不需要破解或搞笑.关键是定义所需的外观,并在导航栏standardAppearancescrollEdgeAppearance上设置此值.对于我的整个应用程序,我的基本导航控制器子类的init中有以下内容:

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相关问答推荐

DriverKit驱动程序中可能存在IOBufferMemoyDescriptor泄漏

不使用iOS 17修改器修改SWIFT用户界面视图

为什么导航栏在与Style.Page的选项卡栏一起使用时停止工作?

OnTapGesture在其修改的视图外部触发

Xcode 15阻止我的应用程序运行:由于实时模式录制的高比率,丢失了1条日志(log)/路标消息?

如何从单独的视图更改修饰符的值

在自定义 ButtonStyle 中修改形状 colored颜色

ionic 4 - 编译 ios - 来自项目Pods的目标GoogleDataTransport中的问题

Swift/iOS:泛型错误:协议需要嵌套类型V;你想添加它吗?

视觉扫描无法识别 iOS16 上的 GS1 条码特殊字符

SwiftUI:通过Sheet将数据添加到Realm DB时视图不更新

.onAppear() 函数不适用于 NavigationLink

try 在 iOS 中分发 Flutter 应用程序时出现Invalid Provisioning Profile Signature错误

iOS swift从另一个数组中删除一个数组的元素

如何使用 sendAsynchronousRequest:queue:completionHandler:

在 iOS 上存储身份验证令牌 - NSUserDefaults 与 keys 串?

从 UIScrollview 中删除内容和框架布局指南

如何删除UITableView中最后一个单元格的最后一个边框?

iOS应用程序每隔一次启动就会崩溃,找不到错误

如何为 UILabel 的背景 colored颜色 设置动画?