Как сделать панель навигации прозрачной в iOS 7?
Есть ли способ сделать панель навигационного контроллера полностью прозрачной?
Что я пробовал:
[self.navigationController.navigationBar setBackgroundColor:[UIColor clearColor]];
[self.navigationController.navigationBar setBarTintColor:[UIColor clearColor]];
[self.navigationController.navigationBar setAlpha:0.0];
но внешний вид панели не изменяется и остается белым полупрозрачным.
Я пытаюсь получить видимые элементы бара, но не сам бар. Может ли кто-нибудь указать мне в правильном направлении? Благодаря
Ответы
Ответ 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];