Quiero que UINavigationBar en mi aplicación sea completamente transparente y esté al ras con el controlador de vista directamente debajo de él. Sin embargo, el único código que pude encontrar lo hace translúcido pero no transparente. Sé que esto se puede hacer en iOS 7 porque se usa en la aplicación de notas. Mi pregunta es, ¿cuál es el código que usaron para hacerlo?
cocoa-touch
uinavigationbar
transparency
translucency
Cory Ginsberg
fuente
fuente

self.edgesForExtendedLayout = UIRectEdgeNone;Para Swift3 y Swift4
Para Swift2.2
Para el objetivo-C
fuente
Solución autónoma como categoría de Objective-C:
UINavigationController + TransparentNavigationController.h
UINavigationController + TransparentNavigationController.m
Ahora puede importar la categoría en su
UIViewControllery llamar a los métodos en su controlador de navegación, por ejemplo:Y una solución similar en Swift :
fuente
hideTransparentNavigationBar()debería restablecerlo de nuevo.viewDidHideel controlador de vista principal.Alan olvidó una línea
Así que tengo:
fuente
La gran respuesta de @ Zorayr revisada a Swift 3:
fuente
Swift 4.2 y iOS 12
Resulta que todo lo que realmente necesita es el siguiente código. Funciona perfectamente cuando lo pones
viewDidLoad().fuente
Use el pod UINavigationBar + Addition , luego simplemente llame:
fuente
[(UIView *) [self.navigationController.navigationBar.subviews objectAtIndex: 0] setAlpha: 0.0f];
Esa línea parecía funcionar perfectamente para mí.
fuente