Поскольку яблоко введенными UIViewControllerBasedStatusBarAppearance
и preferredStatusBarStyle
в прошивкой 7 Я пытаюсь понять, Что лучшие практики, чтобы изменить цвет строки состояния для встроенный вид контроллера, как:preferredStatusBarStyle для собственных контроллеров
UIImagePickerController
MFMailComposeViewController
UISearchDisplayController
, например, при использовании UISearchDisplayController
, я хочу изменить строку состояния от светлого до темного, когда появится панель поиска.
как я могу это сделать? мне нужен подкласс UISearchDisplayController
? может быть категория?
, а что касается UIImagePickerController
, у него есть собственный стек контроллеров, как можно изменить стиль строки состояния для всех из них при представлении подборщика фотографий?
я до сих пор используется глобальная почему из
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
но теперь его все за ViewController подход, так как я бы изменить контроллеры, которые не мое?
UISearchDisplayController не является контроллером представления, и он устарел. Вы по-прежнему можете использовать 'preferredStatusBarStyle' на вашем контроллере представления исходного кода и возвращать стиль стиля статусов при вводе или выходе из поиска. Существует 'setNeedsStatusBarAppearanceUpdate', чтобы заставить UIKit повторно запросить стиль строки состояния. – Andy
@ Энди, ты прав. Я не заметил, что его не является контроллером вида (я так полагаю, потому что он управляет собственным табличным представлением ..), и я должен использовать его, хотя его устарело, потому что я поддерживаю iOS 7, а также – Mario