0

なぜこれが起こるのかを数日間理解しようとしています。

私のアプリは、ナビゲーションを処理するすべての画面間でビューを共有することになっています。そこで、いくつかのボタンが付いたナビゲーション用のペン先を作成し、そのビューをウィンドウに追加しました (これは悪い選択だと言われています)。

このグローバル ビューには 4 つのナビゲーション コントローラーが格納されるため、ユーザーは場所を失うことなくそれらを切り替えることができます (タブ バーの動作と同様)。しかし、ビューをウィンドウに追加すると、アプリが通話中のステータス バーのサイズを変更する方法に影響があるように見えます。5.0 ではアプリ全体が完全に動作しますが、4.0 では完全に間違っています。

4.0 では、画面で通話中バーを有効にすると、まったく動かなくなります。

通話中バーを使用してビュー コントローラーを押すと、ナビゲーション バーが上部に表示されますが、ビューは本来よりも 20 ピクセル低く表示されます。

また、通話中バーを有効にしている場合、画面を押してから戻ると、ナビゲーション バーは 20 ピクセル下に移動しますが (そうあるべきです)、ビューはそのままの位置に留まり、ナビゲーション バーによって切り取られます。

これらの変更を行う iOS 4.x では起きていない iOS 5 では何が起きているのでしょうか? アプリは4.3ですべてバグがあります。

4

1 に答える 1

1

「ダミー」View Controller を作成します (UINavigationController はうまく機能します)。次に、それにビューを追加します。ビュー コントローラー階層を使用しないと、イベントは正しく伝達されません。

新しい「コンテナ」ビュー コントローラ システムにより、これは iOS 5 で動作すると思われます。彼らは、これらの分野でより寛大になるようにシステムを動かしました。アプリのナビゲーション デザイン全体を見ないと、これ以上具体的な答えを出すことはできません。

編集: wantsFullScreenLayout プロパティも使用してみてください。それは役立つかもしれません。

于 2012-06-29T15:51:40.693 に答える