目标屏幕截图需要
首先,我已阅读这些链接
所有链接都使用UIApplication
- setStatusBarStyle:animated:
- setStatusBarHidden:withAnimation:
但是,这些API在iOS 9中已弃用。
那么,如何在iOS 9中获得lightContent statusBar?
答案 0 :(得分:8)
我弄清楚了,只是发表我的回答。 接受任何更好的答案
View controller-based status bar appearance
设置为YES,或者只删除info.plist中的此键创建UIImagePickerController
@interface BaseImagePickerController : UIImagePickerController
@end
@implementation BaseImagePickerController
-(UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;
}
@end
使用此子类
self.imagePikerViewController = [[BaseImagePickerController alloc] init];
答案 1 :(得分:1)
以下是在Swift中如何做到这一点:
class BaseImagePickerController {
func preferredStatusBarStyle() -> UIStatusBarStyle {
return UIStatusBarStyleLightContent
}
}
初始化它:
self.imagePikerViewController = BaseImagePickerController()
似乎已弃用statusBarStyle
,但UIStatusBarStyle
不是。
您也可以通过以下方式更改一个视图控制器的颜色:
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
或者在AppDelegate文件的didFinishLaunchingWithOptions
中,您可以使用以下内容在整个应用中更改它:
UIApplication.sharedApplication().statusBarStyle = .LightContent
答案 2 :(得分:1)
您可以在UINavigationController上使用UIImagePickerController的子类,并覆盖preferredStatusBarStyle(),而不是子类化UIImagePickerController。这消除了这种情况下的所有问题。
extension UINavigationController{
override public func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
}