问题描述
需求是需要隐藏掉应用内所有的StatusBar,然后有部分的东西(如图片选择器,是封装在第三方的SDK中)我无法获取到那个类的.m文件.然后我看iOS10后,我隐藏StatusBar的代码是这样的
- (BOOL)prefersStatusBarHidden { return YES;}
之前用的直接调用隐藏的代码,现在没什么作用,所以现在用这个来隐藏.那么问题来了,对于第三方的比如UIImagePickerViewController,我怎么隐藏它的StatusBar呢,我没办法替换成自己的图片选择器.我想着是用runtime去捕获到这个,然后动态添加上这个方法的代码,网上找了相关代码,不知道怎么弄,能否给个解决的思路或者一般的方法.
问题解答
回答1:可以继承自 UIImagePickerViewController,然后重写掉prefersStatusBarHidden方法
回答2:可以在appDelegate的方法里面试试
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [application setStatusBarHidden:true];}回答3:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]; 隐藏状态栏