Eu gostaria de um totalmente transparente UIToolbar
e / ou UINavigationBar
. Eu tentei os vários encantamentos sugeridos para pré e pós-iOS 5, mas nenhum parece funcionar mais.
Como isso pode ser feito no iOS 7?
ios
uinavigationcontroller
uinavigationbar
ios7
uitoolbar
Ben Packard
fonte
fonte
Respostas:
Swift 3 (iOS 10)
Transparente
UIToolbar
Transparente
UINavigationBar
Swift <3
Transparente
UIToolbar
Transparente
UINavigationBar
Objective-C
Transparente
UIToolbar
Transparente
UINavigationBar
Discussão
Definir
translucent
comoYES
na barra de navegação resolve o problema, devido a um comportamento discutido naUINavigationBar
documentação. Vou relatar aqui o fragmento relevante:Resultado final
fonte
iOS 7
simuladorSe você quiser fazer isso por meio de todo o aplicativo, deve usar o proxy UIAppearance (iOS5 +):
UINavigationBar *navigationBarAppearance = [UINavigationBar appearance]; navigationBarAppearance.backgroundColor = [UIColor clearColor]; [navigationBarAppearance setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault]; navigationBarAppearance.shadowImage = [[UIImage alloc] init];
Documentos: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIAppearance_Protocol/Reference/Reference.html
Artigo: http://nshipster.com/uiappearance/
fonte
UINavigationController
subclasses específicas - ou seja, aquelas às quais deseja que esse comportamento seja aplicado.Experimentar:
fonte
fonte
Algo que descobri é que se eu criasse uma subclasse
UINavigationBar
e, em seguida, criasse um-(void)drawRect:
método vazio , obteria uma barra de navegação transparente. Eu só testei isso no iOS 7. *, mas parecia funcionar!fonte