本机控制器的preferredStatusBarStyle

时间:2014-12-03 10:32:08

标签: ios objective-c ios7 uisearchdisplaycontroller uistatusbar

由于Apple在iOS 7中引入了UIViewControllerBasedStatusBarAppearancepreferredStatusBarStyle,我试图了解更改内置视图控制器的状态栏颜色的最佳做法,例如:

UIImagePickerController  
MFMailComposeViewController  
UISearchDisplayController  

例如,当使用UISearchDisplayController时,我想在搜索栏出现时将状态栏从亮变为暗。
我怎样才能做到这一点?我需要继承UISearchDisplayController吗?也许类别?

那么UIImagePickerController它有自己的视图控制器堆栈,如何在呈现照片选择器时更改所有这些控制器的状态栏样式?

直到现在我使用

的全球原因
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];  

但现在它的所有per-ViewController方法,所以我如何修改不属于我的控制器?

1 个答案:

答案 0 :(得分:1)

是的,您可以将这些类子类化以更改状态栏外观。根据{{​​1}},它只是UIImagePickerController的子类,因此,如果您在子类中继承并实现UINavigationController,那么在导航中显示的所有其他视图都将具有相同的状态栏。祝你好运!