Lorsque j'ai défini la couleur de la barre de navigation avec navigationController? .NavigationBar.barTintColor
, elle était différente de la couleur définie.
J'ai conçu la couleur de navigation ainsi que la couleur de fond principale.
Cependant, lorsque j'ai défini navigationController? .NavigationBar.barTintColor
sur la même couleur que l'arrière-plan principal, la navigation réelle affichée était un peu plus claire.
Cela a été causé par NavigationBar.isTranslucent.
NavigationBar.isTranslucent
est une valeur qui spécifie la transparence de la barre de navigation. Si vous n'avez pas défini d'image dans la barre de navigation, la valeur par défaut est «true» et elle est translucide. Si vous ne voulez pas être translucide, vous pouvez définir cette valeur sur «false».
** Extrait **
If the navigation bar doesn't have a custom background image, or if any pixel of the background image has an alpha value of less than 1.0, the default value of this property is true. If the background image is completely opaque, the default value of this property is false. If you set this property to true and the custom background image is completely opaque, UIKit applies a system-defined opacity of less than 1.0 to the image. If you set this property to false and the background image is not opaque, UIKit adds an opaque backdrop.
AppDelegate.swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
UINavigationBar.appearance().isTranslucent = false
return true
}
Si vous définissez navigationBar.isTranslucent
sur false
, la barre de recherche se déplacera vers le bas lorsque vous vous concentrerez sur ʻUISearchController` défini dans la barre de navigation.
Dans ce cas, vous pouvez le résoudre en écrivant l'implémentation suivante dans Controller.
Controller.swift
extendedLayoutIncludesOpaqueBars = true
Recommended Posts