Ändern Sie die Farbe der iOS8-Extension-Navigationsleiste

8

Ich arbeite an iOS8 App Erweiterung (Fotobearbeitungserweiterung)

Ich habe diese Methode versucht, um die Farbe der Navigationsleiste zu aktualisieren, aber es ist fehlgeschlagen:

%Vor%

Es wird eine standardmäßige transparente graue Navigationsleiste angezeigt.

Hat jemand eine Idee, wie man die Farbe der Navigationsleiste in der iOS8-Erweiterung ändert?

    
David Ng 03.09.2014, 11:09
quelle

3 Antworten

4

Versuchen Sie self.navigationController.navigationBar.barTintColor = [UIColor yellowColor]; zuerst. Dies sollte für einige Host-Apps funktionieren, aber nicht für alle. Da einige Host-Apps die Farben in UIAppearance-Einstellungen konfigurieren.

Ich habe ein paar Infos hier gefunden: Ссылка Gemäß dem obigen Link "nimmt die Erweiterung die Einstellungen von UIAppearance von ihrer Host-App auf" und dies hat eine höhere Priorität als die "setColor" -Nachricht, die Sie an die Instanz senden.

Sie können also das Plist der Erweiterung konfigurieren:
In NSExtension dictionary können Sie den Schlüssel NSExtensionOverridesHostUIAppearance angeben und den Wert auf YES setzen. Dadurch überschreibt Ihre Erweiterung die UIAppreprise-Einstellung der Host-App. Leider ist dies nur in iOS 10 und höher verfügbar.

Ich hoffe, Sie finden es hilfreich.

    
jokeman 28.02.2017 19:42
quelle
0

Versuchen Sie, die Transluzenz von UINavigationBar auf NO wie unten zu setzen, ich glaube dann sollte es anfangen, die Farben aufzunehmen

%Vor%

Hier ist die Apple Dokumentation für UINavigationBar translucent Eigenschaft

    
Popeye 03.09.2014 11:16
quelle
-2

Ich habe Ihren Code in die AppDelegate didFinishLaunchWithOption

gestellt %Vor%

Und funktioniert ...

    
Fede Henze 16.01.2015 13:22
quelle

Tags und Links