【问题标题】:Unable to change the Navigation bar tint color for large titles in iOS 13无法更改 iOS 13 中大标题的导航栏色调颜色
【发布时间】:2019-10-17 20:24:45
【问题描述】:

代码:

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.

        UINavigationBar.appearance().barTintColor = .red

        return true
    }

如果 prefersLargetitles 为 false 则没有问题。 但是对于 prefersLargeTitles = true,颜色不会改变。 这曾经适用于 iOS 12。但自从 iOS 13 以来,这不起作用。任何人都可以帮助如何在 iOS 13 中自定义导航栏

【问题讨论】:

    标签: ios swift uinavigationbar ios13


    【解决方案1】:

    iOS 13 中导航栏外观有一些变化,默认情况下,如果关联视图控制器具有可滚动内容,导航栏将变为透明。

    在这种情况下,您应该创建一个UINavigationBarAppearance 对象并将其分配给compactAppearancescrollEdgeAppearance。您也可以更改UINavigationBarAppearance 对象的属性。

    if #available(iOS 13.0, *) {
        let appearance = UINavigationBarAppearance()
        appearance.backgroundColor = .purple
        UINavigationBar.appearance().compactAppearance = appearance
        UINavigationBar.appearance().scrollEdgeAppearance = appearance
    } else {
        UINavigationBar.appearance().barTintColor = .purple
    }
    

    您可以在hereiOS13release_notes 找到更多详细信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 2016-06-03
      • 2019-11-13
      • 2017-02-17
      相关资源
      最近更新 更多