Ich möchte, dass die UINavigationBar in meiner App vollständig transparent und bündig mit dem Viewcontroller direkt darunter ist. Der einzige Code, den ich finden konnte, macht ihn jedoch durchscheinend, aber nicht transparent. Ich weiß, dass dies in iOS 7 möglich ist, da es in der Notizen-App verwendet wird. Meine Frage ist, welchen Code haben sie dafür verwendet?
cocoa-touch
uinavigationbar
transparency
translucency
Cory Ginsberg
quelle
quelle
self.edgesForExtendedLayout = UIRectEdgeNone;
Für Swift3 und Swift4
Für Swift2.2
Für Ziel-C
quelle
Eigenständige Lösung als Ziel-C-Kategorie:
UINavigationController + TransparentNavigationController.h
UINavigationController + TransparentNavigationController.m
Jetzt können Sie die Kategorie in Ihre importieren
UIViewController
und die Methoden auf Ihrem Navigationscontroller aufrufen - zum Beispiel:Und eine ähnliche Lösung in Swift :
quelle
hideTransparentNavigationBar()
sollte es zurücksetzen.viewDidHide
übergeordneten View Controller aufzurufen .Alan hat eine Zeile vergessen
Also habe ich:
quelle
@ Zorayrs großartige Antwort wurde in Swift 3 überarbeitet:
quelle
Swift 4.2 und iOS 12
Es stellt sich heraus, dass alles, was Sie wirklich brauchen, der folgende Code ist. Es funktioniert perfekt, wenn Sie es einsetzen
viewDidLoad()
.quelle
Verwenden Sie UINavigationBar + Addition pod und rufen Sie dann einfach auf:
quelle
[(UIView *) [self.navigationController.navigationBar.subviews objectAtIndex: 0] setAlpha: 0.0f];
Diese eine Zeile schien perfekt für mich zu funktionieren
quelle