2015-12-11 4 views
2

Хорошо, так ...Status Bar Icons почернеет, когда Search Bar активен

Я поставил NavigationBarStyle к Black так, что Status Bar Icons станет белым.

(См Pic 1 ниже)

Pic 1 - Status Bar Icons White, as they Should be

Проблема начинается с панели поиска. Когда он активен, и вы можете ввести его, он превратит NavigationBarStyle обратно в Default, который снова запустит иконку состояния. Хотя после того, как вы закончите с ним, и он вернется к неактивности, NavigationBarStyle восходит к Black, где он должен быть постоянно.

(См Pic 2 ниже)

Pic 2 - Status Bar Icons Black - Not Good

Я не нашел способ еще сделать Status Bar Icons остаются белыми во все времена.

Помощь очень ценится.

+0

http://stackoverflow.com/questions/17678881/how-to-change-status- бар-текст цвета в КСН-7 – vaibby

ответ

1

Похоже, что у вас есть настройка отображения строки состояния на основе контроллера.

Если вы хотите, чтобы строка состояния быть белой все времени, то вы можете установить ключ UIViewControllerBasedStatusBarAppearance info.plist к NO, а затем установить UIStatusBarStyle ключ к UIStatusBarStyleLightContent.

Если вы хотите сохранить внешний вид панели управления на основе контроллера, то вам потребуется подкласс UISearchController и переопределить стиль строки состояния, поскольку вы технически представляете другой контроллер просмотра для поиска, следовательно, изменение стиля строки состояния. .

class SearchController: UISearchController { 

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

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