[Swift] Die Farbe der Navigationsleiste unterscheidet sich (heller) von der angegebenen Farbe.

Wenn ich die Farbe der Navigationsleiste mit "navigationController? .NavigationBar.barTintColor" einstelle, unterscheidet sie sich von der eingestellten Farbe.

Problem

Vollständiges Bild

Ich habe die Navigationsfarbe sowie die Haupthintergrundfarbe entworfen. Wenn ich jedoch "navigationController? .NavigationBar.barTintColor" auf dieselbe Farbe wie den Haupthintergrund einstelle, ist die tatsächlich angezeigte Navigation etwas heller.

Bild des Problems

Lösung

Es wurde durch NavigationBar.isTranslucent verursacht. NavigationBar.isTranslucent ist ein Wert, der die Transparenz der Navigationsleiste angibt. Wenn Sie kein Bild in der Navigationsleiste festgelegt haben, ist die Standardeinstellung "true" und durchscheinend. Wenn Sie nicht durchscheinend sein möchten, können Sie diesen Wert auf "false" setzen.

** Auszug **

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
}

UISearchController ist betroffen, wenn isTranslucent = false ist

Wenn Sie "NavigationBar.isTranslucent" auf "false" setzen, wird die Suchleiste nach unten verschoben, wenn Sie sich auf den in der Navigationsleiste festgelegten "UISearchController" konzentrieren. In diesem Fall können Sie das Problem lösen, indem Sie die folgende Implementierung in Controller schreiben.

Controller.swift


extendedLayoutIncludesOpaqueBars = true

Recommended Posts

[Swift] Die Farbe der Navigationsleiste unterscheidet sich (heller) von der angegebenen Farbe.
[Swift] Ändern Sie die Farbe des SCN-Knotens
Was unterscheidet sich von der PHP-Sprache. [Hinweis]
[Vergleichsüberprüfung] Wie unterschiedlich ist die Entwicklungsproduktivität der Spring Boot-App von der Vergangenheit?
[Swift] Das ist die Lösung! Abbildung der Implementierung des Delegierten
Ich möchte die Farbe des Steuerungsmenüs oben in Liferay 7 / DXP ändern
Entwicklung der iOS-App: Timer-App (9. Passen Sie die Farbe des Fortschrittsbalkens an)
[Swift] Ermittelt das Timing, wenn der Wert von textField geändert wird
[Java] Löschen Sie die angegebene Anzahl von Zeichen am Ende von StringBuilder
'% 02d' Was ist der% von% 2?
[Java Servlet] Die Straße von Senri ist auch der fünfte Schritt von einem Schritt
Der Inhalt des Rückgabewerts von executeBatch unterscheidet sich zwischen 11g und 12c
[Java Servlet] Die Straße von Senri ist auch der dritte Schritt vom ersten Schritt
Ab Java9 werden Klassenkonstruktoren, die primitiven Typen entsprechen, als veraltet markiert.
[Java Servlet] Die Straße von Senri ist auch der vierte Schritt vom ersten Schritt
[swift5] So ändern Sie die Farbe der TabBar oder die Farbe des TabBar-Elements mit Code