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

Как изменить Statusbar на Modal Views iOS 6

У меня следующее созвездие:

Основной вид (пользовательский UIViewController, никакой навигационный контроллер или панель навигации), содержащая кнопку, которая последовательно переходит ко второму контроллеру табличного представления, встроенному в контроллер навигации:

MainView → Контроллер навигации → TableView

В MainView строка состояния черная (без изменений в iOS 6 - даже если для строки состояния установлено значение по умолчанию) В TableViewController строка состояния должна иметь стиль по умолчанию (серый в iOS 5, синий тонирован из-за панели навигации в iOS 6).

В iOS 5 это было легко с помощью следующих строк кода в TableViewController:

if ([[UIApplication sharedApplication] respondsToSelector:@selector(setStatusBarStyle:)]) {
   [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
}

Выполняется это при уведомлении iOS 6. Как я могу это сделать? Я попробовал все возможные настройки строки состояния в сводке проекта и в plist (как описано здесь: qaru.site/info/236588/...)

Кроме того, в Storyboard все выглядит отлично. Запуск приложения в симуляторе или на устройстве выглядит иначе: StoryboardSimulator

4b9b3361

Ответ 1

попробуйте этот "взломать": Вы должны добавить панель навигации к своему первому контроллеру. Тогда у вас есть две возможности.

1) Установите для альфа-значения навигационной панели значение 0

или

2) Установите y-позицию панели на -43px (смотрите здесь: http://moduscreate.com/tinting-your-status-bar-in-ios6-and-phonegap/)

EDIT:

Чтобы получить правильные цвета, вы должны установить tintColor невидимого UINavigationBar. Поэтому по умолчанию установите его черным. В действии кнопки вы должны установить tintColor в свой navigationController.navigationBar.tintColor. При нажатии кнопки закрытия вы должны вернуть его в [UIColor blackColor].

Ответ 2

Первый контроллер представления должен иметь навигационный контроллер/панель для работы функции. Строка состояния не изменяет цвет во всем приложении (в iOS6), но приспосабливается к цвету навигационной панели вашего начального вида. Если ваш стартовый вид не содержит навигационной панели, строка состояния не адаптирует цвет.! (См. http://i.stack.imgur.com/n9ubK.png)

Ответ 3

Вам не нужно устанавливать стиль для панели навигации в ваш диспетчер tableview.

Попробуйте этот подход. 1. Добавьте контроллер навигации в основной режим. 2. Установите его свойство в "Да". 3. Когда вы показываете tableviewcontroller, установите свойство навигационной панели, скрытое в No

Контроллер навигации → bar hidden = yes →  MainView → bar hidden = no → TableView