2012-02-05 1 views
6

Я смотрел на этом сайте и на других, как настроить изменение оттенка навигации, я видел примеры, но не совсем то, что мне нужно, поэтому любая помощь будет оценена.Изменение оттенка навигационной панели с помощью Xcode

на моем приложение делегата у меня есть:

@synthesize window; 
@synthesize tabBarController; 
@synthesize navigationController; 
@synthesize navigationController1; 
@synthesize navigationController2; 
@synthesize viewController; 
@synthesize viewController2; 
@synthesize viewController3; 

#pragma mark - 
#pragma mark Application lifecycle 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:    (NSDictionary *)launchOptions {  

    // Override point for customization after application launch. 


    // Set the tab bar controller as the window's root view controller and display. 
self.window.rootViewController = self.tabBarController; 
[self.window makeKeyAndVisible]; 


    return YES; 
} 

Когда я ввести код self.navigationController.navigationBar setTintColor:[UIColor blackColor] на вышеизложенное, изменяет только один из моих навигационных контроллеров, но не одна мне нужна.

У меня есть 7 элементов на моей вкладке, и когда я нажимаю «БОЛЬШЕ ...», я получаю табличный вид с другими элементами, которые не подходят на главном экране, панель навигации добавляется автоматически, и не важно что я делаю, я не могу изменить этот оттенок панели навигации, я могу изменить те, что у меня есть @synthesize, но не автоматически введенный.

Может кто-нибудь, пожалуйста, дайте мне знать, как изменить автоматически размещенную панель навигации?

ответ

17

Вы можете сделать это, используя прокси-сервер внешнего вида. Если вы установите цвет, как это будет применяться к каждому панели навигации в приложении:

[[UINavigationBar appearance] setTintColor:[UIColor blackColor]]; 
+1

Просто хотел упомянуть, что прокси-сервер внешнего вида доступен только в iOS 5. – Randall

+0

Как и сам метод setTintColor. Если вам нужен этот материал для работы с iSO4, вам понадобится другой подход. Вот обсуждение, связанное с некоторыми решениями: http://stackoverflow.com/questions/9150956/customizeappearance-compatibility-on-others-ios/9151033#9151033 –

+0

Фантастично, это то, что я искал. Большое спасибо. – Derek

3

Для IOS 6 и нижнее:

[[UINavigationBar appearance] setTintColor:[UIColor blackColor]]; 

Для прошивки 7 и выше:

[[UINavigationBar appearance] setBarTintColor:[UIColor blackColor]]; 

Установите этот метод в AppDelegate.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions