Панель навигации не прозрачная

Apple говорит следующее:

barTintColor

Этот цвет по умолчанию делается полупрозрачным, если для свойства полупрозрачности не задано значение НЕТ.

Почему мой код создает непрозрачную панель навигации?

self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:0/255.0f     green:119/255.0f blue:255/255.0f alpha:1.0f];

Я пытался добавить это на всякий случай, но не повезло.

self.navigationController.navigationBar.translucent = YES;

Спасибо


person Nathan    schedule 13.03.2014    source источник


Ответы (3)


Вместо этого

self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:0/255.0f     green:119/255.0f blue:255/255.0f alpha:1.0f];

почему бы вам не попробовать установить цвет фона

self.navigationController.navigationBar.backgroundColor = [UIColor colorWithRed:0/255.0f     green:119/255.0f blue:255/255.0f alpha:1.0f];

Бар прозрачный :)

В соответствии с вашими потребностями. Это придаст сплошной цвет панели навигации.

NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[ver objectAtIndex:0] intValue] >= 7) {
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.navigationController.navigationBar.translucent = NO;
}else {
self.navigationController.navigationBar.tintColor = [UIColor redColor];
}
person Harsh    schedule 13.03.2014
comment
Спасибо, но цвет становится слишком бледным. Я не могу сделать его таким темным, как если бы я вручную перетаскивал панель навигации и выбирал цвет с проверкой полупрозрачности. Это вообще не кажется правильным. - person Nathan; 14.03.2014
comment
Вы можете изменить значение альфа-канала и получить желаемый результат! - person Harsh; 14.03.2014
comment
Полупрозрачная панель навигации не имеет полных и глубоких цветов. Если цвет фона ViewController белый, панель навигации будет выглядеть ярче. - person filou; 14.03.2014
comment
Все, что выше 1.0, не имеет значения. Извините, мне кажется, что я упускаю что-то действительно очевидное, но это просто не работает. filou: Если я перетащу панель навигации и задам ей оттенок, цвет будет намного темнее, чем в этом коде. - person Nathan; 14.03.2014
comment
можете ли вы точно объяснить, чего вы хотите достичь? то есть, какой у вас цвет фона и что вы хотите, чтобы ваша панель навигации была? - person Harsh; 14.03.2014
comment
Под панелью навигации будет прокручиваться текст, но я хочу, чтобы она была синего цвета. - person Nathan; 14.03.2014
comment
Отредактировал сообщение в соответствии с вашими потребностями. Теперь вы можете иметь сплошной цвет и полупрозрачный цвет. С этим проблем быть не должно - person Harsh; 14.03.2014

Гораздо проще использовать прокси «внешнего вида» в вашем appDelagate.m. В вашем методе didGinishLaunchingWithOptions есть:

[UINavigationBar appearance].translucent = NO;
person Dennis Hansen    schedule 16.08.2015

Свифт 4

  navigationController!.navigationBar.isTranslucent = false;
person barrylachapelle    schedule 03.06.2019