iphone - 使用 if 语句隐藏状态栏?

标签 iphone ios cocoa-touch

我的应用程序中有一个二维码阅读器。阅读器扫描代码后,会将应用程序带到调查页面。我正在尝试让调查页面隐藏状态栏。这是我的代码:

- (void)zxingController:(ZXingWidgetController*)controller didScanResult:(NSString *)result {

   // self.resultsToDisplay = result;
    if (self.isViewLoaded) {

        [[NSBundle mainBundle] loadNibNamed:@"yellaViewController" owner:self options:nil];
        initWithNibName:@"yellaViewController" bundle:[NSBundle mainBundle]];

        [topImage setImage:[UIImage imageNamed:@"yellalogoREAL.png"]];


        [[UIApplication sharedApplication] setStatusBarHidden:YES];

    }

这对我不起作用,状态栏仍然可见。我究竟做错了什么?

另外:有没有一种方法可以使用相同的 if 语句隐藏调查页面上的 tabbarcontroller?

最佳答案

在ZxingController的viewDidAppear中:(ZxingWidgetController.m)

self.isStatusBarHidden = [[UIApplication sharedApplication] isStatusBarHidden];
if (!isStatusBarHidden)
    [[UIApplication sharedApplication] setStatusBarHidden:YES];

它缓存了以前的状态栏状态,当你退出 ZxingController 时,在 viewDidDisappear 中:

if (!isStatusBarHidden)
    [[UIApplication sharedApplication] setStatusBarHidden:NO];

由于ZxingController中的viewDidDisappear会进入zxingController:didScanResult:
所以你在 zxingController:didScanResult: 中的 setStatusBarHidden: 是没有用的。

关于iphone - 使用 if 语句隐藏状态栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14307240/

相关文章:

ios - 弹出窗口显示为全屏

iPhone : Unable to find following screen in in-app purchase

ios - 更新后 RealmSwift 崩溃并出现错误 "Invalid property name"

ios - DDMathParser - 如何识别错误是 iOS

iphone - 向自定义导航栏添加按钮

iphone - iPad 方向更改问题

ios - 可以在 objective c 中使用 swift 中的 array reduce 概念吗?

html - 将 HTML 拆分为页面,不将行切成两半

iphone - UIApplication 的 openURL 使我的应用程序崩溃

iphone - 收到远程通知时自动启动 iPhone 应用程序