2014-12-30 13 views
7

próbuję ustawić mój pasek nawigacyjny przejrzyste dotyczące obrazu poniżej tego, coś jak na poniższym rysunku:Producent nawigacji pasek przezroczysty czasowo pod obrazem w iOS 8.1

enter image description here

Próbowałem rozwiązanie w transparent navigation bar ios ale nie uzyskaj powyższego wyniku, tylko ikona po lewej stronie, ale bez żadnego koloru na pasku nawigacji, jest całkowicie przezroczysta. Ale jeśli ustawię kolor tła, przezroczystość znika w ogóle.

Jest jakiś sposób ustawienia koloru na pasku nawigacji i uczynienia go przezroczystym?

Z góry dziękuję.

Odpowiedz

30

po prostu sprawdzić na symulatorze 8.1 i mam bardzo podobny wynik do zdjęcia

let bar:UINavigationBar! = self.navigationController?.navigationBar 

    bar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default) 
    bar.shadowImage = UIImage() 
    bar.backgroundColor = UIColor(red: 0.0, green: 0.3, blue: 0.5, alpha: 0.3) 

Głównym punktem tutaj jest kolor tła z alfa.

Sprawdź załączony obraz, może coś przeoczyłem?

enter image description here

+0

Nie jestem pewien, czy rozumiesz swoje pytanie, czy zapytałeś o kolor Alpha Chanel? – sage444

+0

Dzięki @ sage44, nie przejmuj się tym –

0

Czy próbowałeś ustawić właściwość alfa navigationbar? W swoim głównym widoku sterownika do kontrolera nawigacji ...

[self.navigationController.navigationBar setBackgroundColor:[UIColor greenColor]]; 
[self.navigationController.navigationBar setAlpha:0.3f]; 
+0

po ustawieniu alfa do widzenia ma on również zastosowanie do subviews? – sage444

+0

Uważam, że tak, dlatego można ustawić kolor tła, aby miał nieprzejrzysty kolor za pomocą '[self.navigationController.navigationBar setBackgroundColor: [UIColor colorWithRed: 0,5 green: 0.5 blue: 0.5 alpha: 0.5]];' – timgcarlson

+0

Wierzę, że wartość alfa koloru tła nie jest taka sama jak właściwość alfa UIView, ale możesz sprawdzić;) – sage444

12

Aby ustawić ten styl globalnie, użyj UIAppearance API. W AppDelegate na application:didFinishLaunchingWithOptions: dodać następujący kod:

// Sets background to a blank/empty image 
UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarMetrics: .Default) 
// Sets shadow (line below the bar) to a blank image 
UINavigationBar.appearance().shadowImage = UIImage() 
// Sets the translucent background color 
UINavigationBar.appearance().backgroundColor = UIColor(red: 0.0, green: 0.3, blue: 0.5, alpha: 0.3) 
// Set translucent. (Default value is already true, so this can be removed if desired.) 
UINavigationBar.appearance().translucent = true 
+0

Dziękuję! To jest poprawna odpowiedź. Inne odpowiedzi nie mogły być ostatnio testowane. – Michael

Powiązane problemy