由于Apple在iOS 7中引入了UIViewControllerBasedStatusBarAppearance
和preferredStatusBarStyle
,我试图了解更改内置视图控制器的状态栏颜色的最佳做法,例如:
UIImagePickerController
MFMailComposeViewController
UISearchDisplayController
例如,当使用UISearchDisplayController
时,我想在搜索栏出现时将状态栏从亮变为暗。
我怎样才能做到这一点?我需要继承UISearchDisplayController
吗?也许类别?
那么UIImagePickerController
它有自己的视图控制器堆栈,如何在呈现照片选择器时更改所有这些控制器的状态栏样式?
直到现在我使用
的全球原因[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
但现在它的所有per-ViewController方法,所以我如何修改不属于我的控制器?
答案 0 :(得分:1)
是的,您可以将这些类子类化以更改状态栏外观。根据{{1}},它只是UIImagePickerController
的子类,因此,如果您在子类中继承并实现UINavigationController
,那么在导航中显示的所有其他视图都将具有相同的状态栏。祝你好运!