0

ここには少し奇妙なシナリオがあり、助けを見つけようとしていますが、解決策は問題を実際に解決するのではなく、悪化させます.

水平スクロール ビュー内に 3 つの子コントローラー ビューを持つコンテナー viewController があります。デフォルトの子コントローラー ビューは、カスタム カメラ ページです。今、これが私が達成したいことです。カメラ ページでステータス バーを非表示にしたいのですが、他の 2 つのビュー (別の 2 つの子コントローラー) にはステータス バーを表示したいと考えています。

左の子コントローラーからカメラ ページにドラッグするか、右の子コントローラーからカメラ ページにドラッグすると、カメラ ページ ビューがステータス バーに重なって表示されます。

これが行われているのを私が見た唯一の場所はSnapchatで、私はそれを理解しようと数時間試みてきましたが、解決策を思いつくことができないようです. どんな助けでも大歓迎です。

4

1 に答える 1

1

本当のステータスバーでそれを行うことができます。このように UIWindowLevel で遊ぶ必要がある Statusbars UIView を取得するだけです

    //Getting the Statusbar

    UIView *statusbar;
    NSString *key = @"statusBar";
    id object = [UIApplication sharedApplication];
    if ([object respondsToSelector:NSSelectorFromString(key)]) {
        statusbar = [object valueForKey:key];
    }

    //Set your Overlapping UIViewController or UIView one Level higher then the Statusbar.
    self.navigationController.view.window.windowLevel = UIWindowLevelStatusBar+1; //This will set the Overlapping UIViewControllers WindowLevel over the StatusBar.
于 2014-09-09T04:30:58.047 に答える