Навигационный контроллер Стиль прозрачной панели не работает - PullRequest
10 голосов
/ 23 октября 2008

Я использую контроллер навигации, и у меня установлен стиль:

navController.navigationBar.barStyle = UIBarStyleBlackTranslucent;

Но когда я запускаю свою программу, навигационный контроллер выглядит так, как будто он поверх белого фона, а не моего фона. Когда я нажимаю контроллер, влево или вправо, весь мой вид, текущий, смещается к вершине точно на размер панели навигации. И именно там я вижу свой фон через панель контроллера навигации. Есть идеи? Когда мой barStyle установлен непрозрачным, все выглядит хорошо. Я думал о том, чтобы установить для моей рамки просмотра отрицательное значение y, но я думаю, что должен быть более элегантный способ.

Ответы [ 12 ]

0 голосов
/ 18 ноября 2010

Попробуйте это:

self.tabBarController.tabBar.superview.backgroundColor = [UIColor blackColor];
0 голосов
/ 23 октября 2008

Если вы установите прозрачность навигационного бара вашего контроллера Nav в своем делегате приложения достаточно рано (это работало для меня до добавления контроллера Nav в окно), оно автоматически сместит ваш вид вверх под панелью навигации.

К сожалению, это также не меняет ваш взгляд под строкой состояния. Печально, похоже, вам нужно реализовать собственную версию UINavigationController. К счастью, это не так уж и плохо, так как UINavigationBar довольно многократно используется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...