2013-10-04 6 views
27

Gibt es eine Möglichkeit, die UINavigationBar, Ziel für iOS 7, eine durchgehende Farbe ohne Transluzenz zu machen? Ich habe versucht, die backgroundColor, die barTintColor, undurchsichtig, transparent/durchscheinend, etc ... und nichts funktioniert.Wie bekomme ich eine undurchsichtige UINavigationBar auf iOS 7?

Wer weiß, wie man das macht?

Hier sind einige Teile des Codes, die ich verwendet habe. Beachten Sie die Eigenschaften, die ich auf navigationBar eingestellt habe. Keiner von ihnen, in irgendeiner Reihenfolge oder Kombination hat gearbeitet.

@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

Beitrag durchscheinend den Code, wie Sie setzen könnte hinzufügen. – null

+0

überprüfen Sie bitte die Bearbeitung. Vielen Dank. – tentmaking

+3

Versuchen Sie 'self.navigationController.navigationBar.transzulucent = NO;' in Ihrem 'testViewController' zu setzen. – null

Antwort

53

Ihr Codelisten schwarz machen navigationController.navigationBar.translucent = YES;

Auf NO einstellen.

8

Um es völlig undurchsichtig zu machen, können Sie einfach den Stil der Navigationsleiste im Eigenschaftsbereich ändern!

Just set the style as Black!

Dies ist, wie es aussieht, wenn u es

+0

Ich werde versuchen, das in Code zu übersetzen. Ich benutze keine xibs. Vielen Dank. – tentmaking

+0

Das schien nicht zu funktionieren. Wenn ich barStyle auf UIBarStyleBlack einstelle, werden meine UITableView-Elemente weiterhin über die UINavigationBar angezeigt. – tentmaking

+0

Dann versuchen, Transluzenz zu entfernen –

7

Um alle Ihre Navigationsleisten undurchsichtig zu machen, die Sie gerade UINavigationBar.appearance().translucent = false zu application:didFinishLaunchingWithOptions:

0
self.navigationController.navigationBar.isTranslucent = false