2017-08-23 2 views
0

Salut Je souhaite implémenter un NavigationBar de transclutation afin que les objets sous-jacents soient visibles.Modification de la valeur alpha de la barre de navigation afin que les objets sous-jacents soient visibles

Il devrait ressembler ici:

enter image description here

Ce point de vue est une vue personnalisée Wich utilise la valeur alpha pour obtenir le comportement de translucidité.

J'ai essayé de mettre en œuvre mon habitude NavigationBar comme ceci:

UINavigationBar.appearance().barTintColor = .white 
    UINavigationBar.appearance().tintColor = UIColor(netHex: CxtColor.black.rawValue) 
    UINavigationBar.appearance().shadowImage = UIImage() 
    UINavigationBar.appearance().isTranslucent = true 
    UINavigationBar.appearance().setBackgroundImage(UIImage(), for: .default) 
    UINavigationBar.appearance().inputView?.alpha = 0.4 
    UINavigationBar.appearance().alpha = 0.4 

Mais ce ne est pas translucide et aussi le changement de la valeur alpha n'a pas vraiment d'effet sur la NavigationBar. C'est juste une barre de navigation blanche.

Je ne souhaite pas créer une barre de navigation totalement transparente.

+0

Vérifiez les postes suivants https://stackoverflow.com/questions/43419860/how-can-i-get-the-color-and- translucidité de l'ios-10-watch-navigation-bar/43527133 # 43527133 et https://stackoverflow.com/questions/43191161/translucent-status-bar-with-no-navigation-bar/43239071#43239071 – Joe

Répondre

1

] vous pouvez accéder navigationBackgroundView

self.navigationController?.navigationBar.isTranslucent = true 
     let navigationBackgroundView = self.navigationController?.navigationBar.subviews.first 
     navigationBackgroundView?.alpha = 0.3 

enter image description here

+0

J'ai essayé votre solution dans la fonction viewWillAppear mais toujours aucun effet. Juste une vue blanche avec le bouton de retour – Kingalione

+0

ne fonctionne pas avec moi –

+0

@Kingalione voir l'image ci-jointe sous le contrôleur de navigation –