追加画面(最大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;
}