2013-10-04 15 views
27

C'è un modo per rendere lo UINavigationBar, destinato a iOS 7, a tinta unita senza traslucenza? Ho provato a impostare backgroundColor, barTintColor, opaco, trasparente/traslucido, ecc ... e non funziona nulla.Come ottenere una UINavigationBar opaca su iOS 7

Qualcuno sa come fare?

Ecco alcuni blocchi di codice che ho utilizzato. Notare le proprietà che ho impostato su navigationBar. Nessuno di loro, in nessun ordine o combinazione, ha funzionato.

@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

pubblicare il codice di come si sta impostando traslucido. – null

+0

controlla la modifica per favore. Grazie. – tentmaking

+3

Prova a mettere 'self.navigationController.navigationBar.translucent = NO;' nel tuo 'testViewController'. – null

risposta

53

Le tue liste di codici navigationController.navigationBar.translucent = YES;

Impostare su NO.

8

Per renderlo completamente opaco puoi semplicemente modificare lo stile della barra di navigazione dalla sezione delle proprietà stessa!

Just set the style as Black!

Questo è come sembra quando u rendono nero

+0

Proverò a tradurlo in codice. Non sto usando xib. Grazie. – tentmaking

+0

Questo non sembra funzionare. Quando imposto barStyle su UIBarStyleBlack, i miei oggetti UITableView continuano a essere visualizzati tramite UINavigationBar. – tentmaking

+0

Quindi prova a rimuovere la traslucenza –

7

Per rendere tutte le barre di navigazione opaco, si può solo aggiungere UINavigationBar.appearance().translucent = false per application:didFinishLaunchingWithOptions:

0
self.navigationController.navigationBar.isTranslucent = false 
Problemi correlati