2013-10-04 13 views
27

Czy jest jakiś sposób, aby UINavigationBar, ukierunkowany na iOS 7, był jednolitym kolorem bez przezroczystości? Próbowałem ustawić backgroundColor, barTintColor, opaque, transparent/translucent, etc ... i nic nie działa.Jak uzyskać nieprzejrzysty pasek UINavigationBar na iOS 7

Ktoś wie, jak to zrobić?

Oto niektóre fragmenty kodu, z których korzystałem. Zwróć uwagę na właściwości, które ustawiłem na navigationBar. Żaden z nich, w dowolnej kolejności lub kombinacji, nie zadziałał.

@property (strong, nonatomic) UITabBarController *tabBarController; 

testViewController = [[TestViewController alloc] init]; 
anotherViewController = [[AnotherViewController alloc] init]; 
navigationController = [[UINavigationController alloc] 
          initWithRootViewController:testViewController]; 

navigationController.navigationBar.barTintColor = [UIColor darkGrayColor; 
navigationController.navigationBar.barStyle = UIBarStyleBlack; 
navigationController.navigationBar.translucent = YES; 
navigationController.navigationBar.opaque = YES; 

NSArray *tabBarViewControllers = [NSArray arrayWithObjects: 
             navigationController, 
             anotherViewController, nil]; 
self.tabBarController.viewControllers = tabBarViewControllers; 
+0

postu kod jak ustawiasz przezroczyste. – null

+0

sprawdź edytuj proszę. dzięki. – tentmaking

+3

Spróbuj umieścić 'self.navigationController.navigationBar.translucent = NO;' w swoim 'testViewController'. – null

Odpowiedz

53

Twoje listy kodów navigationController.navigationBar.translucent = TAK;

Ustaw na NIE.

8

Aby było całkowicie nieprzejrzyste, wystarczy zmienić styl paska nawigacji z samej sekcji właściwości!

Just set the style as Black!

Tak to wygląda, gdy u sprawiają, że czarny

+0

Spróbuję przetłumaczyć to na kod. Nie używam Xib's. Dzięki. – tentmaking

+0

To wydawało się nie działać. Kiedy ustawiam barStyle na UIBarStyleBlack, moje elementy UITableView będą nadal wyświetlane przez pasek UINavigationBar. – tentmaking

+0

Następnie spróbuj usunąć przezroczystość –

7

Aby dokonać wszystkich pasków nawigacyjnych nieprzezroczysta, można po prostu dodać UINavigationBar.appearance().translucent = false do application:didFinishLaunchingWithOptions:

0
self.navigationController.navigationBar.isTranslucent = false 
Powiązane problemy