0

追加画面(最大2つ)がある場合は、新しいウィンドウを作成します。各ウィンドウは、異なる画面に異なるコンテンツを表示します。

問題は iOS7 の下にあります。この外部ウィンドウを作成して表示すると、メイン ウィンドウでもある最初のウィンドウにステータス バーが表示されます。次に、システムはスペース (20 ポイント) を追加して、トップ バーと一部のビューを再配置します。カスタムバーなので、うまくいきません。

これはなぜですか? また、システムを停止してステータス バーを追加するにはどうすればよいですか?

これは問題のあるコードです:

- (void) handleScreenConnectNotification:(NSNotification*)notification
{
        NSLog(@"screens=%@ _secondWindow = %@",[UIScreen screens], _secondWindow );
        if ( [[UIScreen screens] count] > 1) {
            // Associate the window with the second screen.
            // The main screen is always at index 0.
            UIScreen * secondScreen = [[UIScreen screens] objectAtIndex:1];
            CGRect screenBounds = secondScreen.bounds;

            _secondWindow = [[UIWindow alloc] initWithFrame:screenBounds];
            _secondWindow.screen = secondScreen;

            _secondWindow.hidden = NO;
        }
}

_secondWindow のフレームを小さな領域に変更してみました。問題を解決しません。

ステータス バーを処理するために、アプリは次のように構成されます。アプリのプロパティ リストの下: コントローラー ベースのステータス バーの外観を表示 = YES ステータス バー
を表示したくないビューごとにこのコードを追加しました。

- (BOOL)prefersStatusBarHidden
{
    return YES;
}
4

2 に答える 2

1

「コントローラーベースのステータスバーの外観を表示する」と述べたので、「ステータスバーは最初は非表示です」をtrueに設定してみてください。

<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
于 2013-11-01T21:22:43.100 に答える