最近做的一個項目亿絮,在調(diào)用相機返回后狀態(tài)欄消失了告喊,與之前一個項目對比,沒有什么差別派昧,但是就是會這樣黔姜,找了很久原因無果,只好用下面的方法先做了蒂萎,但我覺得本質(zhì)還是項目設(shè)置的問題秆吵,忘大神看到了指點一二。
暫時用的方法:
1:在項目調(diào)用相機的ViewController里重寫preferredStatusBarStyle方法五慈。
-(UIStatusBarStyle)preferredStatusBarStyle
{
returnUIStatusBarStyleDefault;
}
2:在相機返回的地方調(diào)用[selfsetNeedsStatusBarAppearanceUpdate];
-(void)imagePickerControllerDidCancel:(UIImagePickerController*)picker
{
[picker dismissViewControllerAnimated:YEScompletion:^{
[self setNeedsStatusBarAppearanceUpdate];
}];
}
以上設(shè)置我是在ios10.3的手機上測試的纳寂。
ps:終于找到根本原因了主穗,我用了一個庫,庫里面有寫一個UINavigationController的category
里面重寫了兩個方法:
- (UIViewController*)childViewControllerForStatusBarStyle {
returnself.visibleViewController;
}
- (UIViewController*)childViewControllerForStatusBarHidden {
returnself.visibleViewController;
}
把這兩個去掉就正常了毙芜,具體是什么原理還在思考中忽媒,大神路過的話指點一下∫钢啵·