2015-08-15 4 views
1

В моем приложении я установил стиль строки состояния для освещения содержимого. enter image description hereКогда searchController активен, изменения стиля строки состояния

Однако, когда контроллер поиска активен, он сбрасывается на стиль по умолчанию: enter image description here

Я попробовал все, чтобы исправить это, в том числе проверки, если контроллер поиска активен в если заявление, а затем изменить цвет оттенка панели навигации на белый и установка стиля строки состояния для освещения содержимого. Как это исправить?

ответ

5

пару вариант, и это может быть проблемой, что это ошибка, но в то же время, вы пробовали это:

Вариант 1:

Информация .plist, настройте опцию в вашем info.plist для «Строка строки состояния», это строковое значение со значением «UIStatusBarStyleLightContent».

Кроме того, в вашем информационном файле настройте переменную ле «Вид на базе контроллера в строке состояния внешний вид» и установите его значение «NO»

Затем в каждом контроллере представления в вашем приложении, явно объявить следующий в команде в ваших инициализаторах, ваш ViewWillAppear, и ваш ViewDidLoad

UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent 

вариант 2:

в вашем info.plist настроить опцию "стиль строки состояния" до "UIStatusBarStyleLightContent". Кроме того, в вашем infor.plist, установите переменную «View на базе контроллера в строке состояния внешний вид» и установите его значение «YES»

Затем в каждом месте контроллера представления следующих методов

override func preferredStatusBarStyle() -> UIStatusBarStyle { 
      return UIStatusBarStyle.LightContent; 
     } 

override func prefersStatusBarHidden() -> Bool { 
    return false 
} 

Кроме того, вам может понадобиться, чтобы сделать что-то вроде этого:

self.extendedLayoutIncludesOpaqueBars = true 

Кроме того, я перевел его в Swift код для вас

+0

Спасибо! Это решило мою проблему. –

2

Добавьте это в свой код, чтобы сделать бар стиль состояния на свет:

override func preferredStatusBarStyle() -> UIStatusBarStyle { 

      return UIStatusBarStyle.LightContent; 
     } 

Вы также можете установить строку состояния в списке информации, и он будет оставаться таким же в вас приложение, пока не будет переопределение в код для контроллера вида.

enter image description here

Смежные вопросы