Поведение tintColor
для баров изменилось в iOS 7.0. Это больше не влияет на фон бара.
Из документации:
Описание класса barTintColor
Цвет оттенка, применяемый к фону панели навигации.
@property(nonatomic, retain) UIColor *barTintColor
Обсуждение
Этот цвет по умолчанию становится полупрозрачным, если вы не установили свойство полупрозрачности в NO
.
Доступность
Доступный в iOS 7.0 и позже.
Объявлено в
UINavigationBar.h
Код
NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[ver objectAtIndex:0] intValue] >= 7) {
// iOS 7.0 or later
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.navigationController.navigationBar.translucent = NO;
}else {
// iOS 6.1 or earlier
self.navigationController.navigationBar.tintColor = [UIColor redColor];
}
Мы также можем использовать это, чтобы проверить версию iOS, как упомянуто в Руководстве по переходу пользовательского интерфейса iOS 7
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
// iOS 6.1 or earlier
self.navigationController.navigationBar.tintColor = [UIColor redColor];
} else {
// iOS 7.0 or later
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.navigationController.navigationBar.translucent = NO;
}
РЕДАКТИРОВАТЬ
Использование XIB