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?
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.
Versuchen Sie, die Transluzenz von UINavigationBar
auf NO
wie unten zu setzen, ich glaube dann sollte es anfangen, die Farben aufzunehmen
Hier ist die Apple Dokumentation für UINavigationBar
translucent
Eigenschaft
Ich habe Ihren Code in die AppDelegate didFinishLaunchWithOption
gestellt %Vor%Und funktioniert ...
Tags und Links objective-c ios ios8