iOS10以后调用系统相机拍照后黑屏问题的解决办法

背景:在开发的APP中调用系统相机拍照(UIImagePickerController),iOS8、iOS9上能正常拍照,iOS10以后拍照后出现黑屏,发现拍照图片其实存在的。

解决思路:在自己的测试机上对比了两款APP的iOS9和iOS10系统拍照的显示,一个是种子习惯,一个是QQ。结果如下:

iOS9.1(图1)


iOS10.1.1(图2)


很明显图2上拍照界面顶部状态栏显示了,并且和闪光灯图标交叉了,这么明显的样式问题为什么会同时发生在QQ还有其他APP上这引起了我的注意,就这样我在代码中加入如下方法:


- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {

if ([UIDevice currentDevice].systemVersion.floatValue < 10.0) return;

if ([navigationController isKindOfClass:[UIImagePickerController class]] &&

((UIImagePickerController *)navigationController).sourceType == UIImagePickerControllerSourceTypeCamera) {

[[UIApplication sharedApplication] setStatusBarHidden:NO];

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];

}

}


目的是在iOS10上显示拍照页的状态栏,iOS9上不显示状态栏,发现iOS10拍照黑屏问题解决。

这种问题经推测是苹果的bug,显示状态栏成了市场上APP不出现黑屏的临时解决办法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容