В 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 UI
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;
}
EDIT
Використання XIB