无法更改 iOS 13 中大标题的导航栏色调颜色
Unable to change the Navigation bar tint color for large titles in iOS 13
代码:
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
中自定义导航栏
iOS13 中的导航栏外观发生了一些变化,默认情况下,如果关联视图控制器具有可滚动内容,导航栏将变为透明。
在这种情况下,您应该创建一个 UINavigationBarAppearance
对象并将其分配给 compactAppearance
和 scrollEdgeAppearance
。您也可以更改 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
}
您可以在 & iOS13release_notes
找到更多详细信息
代码:
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
中自定义导航栏iOS13 中的导航栏外观发生了一些变化,默认情况下,如果关联视图控制器具有可滚动内容,导航栏将变为透明。
在这种情况下,您应该创建一个 UINavigationBarAppearance
对象并将其分配给 compactAppearance
和 scrollEdgeAppearance
。您也可以更改 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
}
您可以在