Подтвердить что ты не робот

Как сделать панель навигации прозрачной в iOS 7?

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

Что я пробовал:

[self.navigationController.navigationBar setBackgroundColor:[UIColor clearColor]];
[self.navigationController.navigationBar setBarTintColor:[UIColor clearColor]];
[self.navigationController.navigationBar setAlpha:0.0];

но внешний вид панели не изменяется и остается белым полупрозрачным. Я пытаюсь получить видимые элементы бара, но не сам бар. Может ли кто-нибудь указать мне в правильном направлении? Благодаря

4b9b3361

Ответ 1

Если кто-то задается вопросом, как это сделать в iOS 7, вот решение (совместимо с iOS 6)

[self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
self.navigationBar.shadowImage = [UIImage new];
self.navigationBar.translucent = YES;

Настройка полупрозрачного ДА на панели навигации делает трюк из-за поведения, обсуждаемого в документации UINavigationBar. Я расскажу здесь о соответствующем фрагменте:

Если вы установите для этого свойства значение ДА на панели навигации с непрозрачным пользовательским фоновым изображением, навигационная панель применит к изображению непрозрачность системы менее 1,0.

Ссылка из: Сделать UINavigationBar прозрачным

Ответ 2

Вы можете сделать панель навигации прозрачной с помощью следующего кода


[self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
[self.navigationBar setShadowImage:[UIImage new]];
[self.navigationBar setTranslucent:YES];