2

当我以模态方式展示我的 uiimagepickerviewcontroller 时,我在我的应用程序中隐藏了状态栏。

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];

在回调方法中:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

我执行以下方法:

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES];

打电话之前:

[picker dismissViewControllerAnimated:YES completion:^() {}];

我尝试在完成块中“显示”状态栏无济于事。关闭 uiimagepickerviewcontroller 后,我应该如何让状态栏重新出现?

4

2 回答 2

0

尝试将其放回视图控制器解除完成处理程序:

[picker dismissViewControllerAnimated:YES completion:^(BOOL done){
    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES];
}];

虽然这很奇怪,但没有任何理由说明为什么这对我不起作用。

于 2012-08-17T22:53:11.080 回答
0

我在 iOS 11 中遇到了同样的问题。我可以通过以下方式使 statusBar 重新出现:

Info.plist中,设置View controller-based status bar appearanceYES

在此处输入图像描述

在呈现的视图控制器中UIImagePickerController,实现

- (BOOL)prefersStatusBarHidden {
    return NO;
}
于 2017-09-28T08:58:44.900 回答