iOS 8:状态栏不适用于 UIImagePickerController
Posted
技术标签:
【中文标题】iOS 8:状态栏不适用于 UIImagePickerController【英文标题】:iOS 8: status bar doesn't work with UIImagePickerController 【发布时间】:2015-02-08 09:34:53 【问题描述】:我有一个 UIImagePickerController 的视图..
在我的整个应用程序中:
/* white color */
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
但在这种情况下我需要查看黑色状态栏,所以我设置它:
/* black color */
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
我已经在委托中这样做了
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated;
但似乎无视指令。
仅适用于 ios this question 和其他内容,但我无法使其工作。
【问题讨论】:
【参考方案1】:如果您想更改特定视图方式,只需从您的 xib / storyboad
更改它即可。
【讨论】:
【参考方案2】:在呈现 UIImagePickerViewController 时尝试这样:
[self presentViewController:imagePickerController animated:YES completion:^
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
];
【讨论】:
【参考方案3】:我通过这种方式解决了我的问题:
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
if(IS_IOS8_AND_UP)
imagePickerController.modalPresentationStyle = UIModalPresentationFullScreen;
else
imagePickerController.modalPresentationStyle = UIModalPresentationCurrentContext;
imagePickerController.delegate = self;
[self presentViewController:imagePickerController animated:YES completion:nil];
然后在委托中设置默认状态栏样式。
希望对您有所帮助!
【讨论】:
以上是关于iOS 8:状态栏不适用于 UIImagePickerController的主要内容,如果未能解决你的问题,请参考以下文章
UINavigationController 中的 UITabBarController 适用于 iOS 8 但不适用于 7
Android:半透明状态栏不适用于 Google Maps API
创建新的状态栏不适用于 targetSdkVersion 30