0

アプリにQRコードリーダーがあります。リーダーがコードをスキャンすると、アプリが調査ページに移動します。ステータスバーを非表示にするために調査ページを取得しようとしています。これが私のコードです:

- (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ステートメントを使用してサーベイページのタブバーコントローラーを非表示にする方法はありますか?

4

1 に答える 1

2

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は役に立ちません。

于 2013-01-14T02:58:37.877 に答える