背景: ステータス バーの下に一時的に表示される追加のステータス バー (新しい UIWindow として実装) を作成するのに苦労しています。
アプリの keyWindow を 20 ピクセル下にオフセットしていることを達成するには: (0 20; 320 460) -> (0 40; 320 440) そして 20 ピクセル上に戻します: (0 40; 320 440) -> (0 20; 320 460 ) これまでのところ、すべてが期待どおりに機能し、keyWindow が下に移動してから上に移動します。すごい!
次に、keyWindow の rootViewController を、FullScreenLayout (UINavCtrl) を必要とするものから、そうでないもの (プレーンな UIViewCtrl) に変更します。ここで問題が発生します。キー ウィンドウが 20px 下に移動します。どうして???;(
私はいくつかのテストを行いましたが、rootViewController が FullScreenLayout を必要とするものからそうでないものに (またはその逆に) 変更されると、システムは keyWindow のフレームのサイズを「通常は」変更するように見えます。ただし、キー ウィンドウ フレームが「手動で」変更されると、この OS ベースの自動レイアウトは、rootViewController の変更前のフレームが OS によって設定された場合とまったく同じ (または単に「変更されていない」場合) であっても、無効になっているように見えます。言い換えると)。:/