Цвет панели навигации iOS 6 в Xcode 5

Я потратил несколько месяцев на разработку приложения для iOS 6, когда я обновился до Xcode 5. Я обновил приложение, чтобы оно соответствовало стилю iOS 7, когда я решил снова запустить приложение на iOS 6.1. Я обнаружил, что моя предыдущая черная панель навигации стала белой.

Я поменял свою раскадровку на "iOS 6.1 и раньше" и обнаружил, что цвет панели навигации был белым, хотя в имитированных метриках он был настроен на "Непрозрачную черную навигационную панель".

Любые идеи о том, как это исправить? Я уже пробовал вручную устанавливать верхние бары просмотра для детей на "Непрозрачную черную навигационную панель". Это изменяет цвет панели навигации, чтобы ребенок выглядел черным на раскадровке, но не влияет на приложение при запуске на симуляторе.

Ответ 1

Похоже, что мне нужно было проверить, работает ли устройство с версией меньше, чем iOS 7, затем установите

[[[self navigationController] navigationBar] setTintColor:[UIColor blackColor]];

Ответ 2

Для установки цвета панели навигации я сделал следующее:

if([self.navigationController.navigationBar respondsToSelector:@selector(barTintColor)])
{
    // iOS7
    self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:236.0/255.0 green:139.0/255.0 blue:23.0/255.0 alpha:1.0];
}
else
{
    // older
    self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:236.0/255.0 green:139.0/255.0 blue:23.0/255.0 alpha:1.0];
}

Надеюсь, кто-нибудь найдет это полезным...

Ответ 3

UIBarStyleBlackOpaque устарел.

Используйте UIBarStyleBlack вместо этого.

В качестве альтернативы в iOS 7 вы можете установить для свойства barTintColor значение "черный".

Ответ 4

для: - iOS 7

// set tint color in io s6
[[[self navigationController] navigationBar] setBarTintColor:[UIColor blackColor]];

для: - iOS 7

// set translucent property to NO in iOS 7 
self.navigationController.navigationBar.translucent=NO;
// set Bar tint color 
[[[self navigationController] navigationBar] setTintColor:[UIColor blackColor]];
// But I would recommend Use Images instead of color.

для iOS 6: - 320 X 44 размер изображения
для iOS 7: - 320 X 64 размер изображения