Ich möchte eine völlig transparente UIToolbar
und / oder UINavigationBar
. Ich habe die verschiedenen Beschwörungsformeln ausprobiert, die für Pre- und Post-iOS 5 vorgeschlagen wurden, aber keine scheint mehr zu funktionieren.
Wie könnte dies in iOS 7 erreicht werden?
ios
uinavigationcontroller
uinavigationbar
ios7
uitoolbar
Ben Packard
quelle
quelle
Antworten:
Swift 3 (iOS 10)
Transparent
UIToolbar
Transparent
UINavigationBar
Schnell <3
Transparent
UIToolbar
Transparent
UINavigationBar
Ziel c
Transparent
UIToolbar
Transparent
UINavigationBar
Diskussion
Die Einstellung
translucent
inYES
der Navigationsleiste reicht aufgrund eines in derUINavigationBar
Dokumentation beschriebenen Verhaltens aus . Ich werde hier das relevante Fragment melden:Endergebnis
quelle
iOS 7
SimulatorWenn Sie dies über die gesamte App tun möchten, sollten Sie den UIAppearance-Proxy (iOS5 +) verwenden:
UINavigationBar *navigationBarAppearance = [UINavigationBar appearance]; navigationBarAppearance.backgroundColor = [UIColor clearColor]; [navigationBarAppearance setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault]; navigationBarAppearance.shadowImage = [[UIImage alloc] init];
Dokumente: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIAppearance_Protocol/Reference/Reference.html
Artikel: http://nshipster.com/uiappearance/
quelle
UINavigationController
Unterklassen funktioniert, dh mit denen, auf die dieses Verhalten angewendet werden soll.Versuchen:
quelle
quelle
Ich bin darauf gestoßen, dass ich eine transparente Navigationsleiste erhalten würde , wenn ich eine Unterklasse
UINavigationBar
und dann eine leere-(void)drawRect:
Methode erstellen würde. Ich habe dies nur in iOS 7 getestet. *, Aber es schien zu funktionieren!quelle