1

iOS 7 をサポートするために、カスタムの「iAD バナー コントローラー」を更新しています。基本的にはUIViewController、3 つのビューで構成されるコンテナーです。

  • メイン ビュー (含まれているコントローラーのビュー)
  • バナービュー
  • ステータス バーの背景ビュー

AD が使用可能な場合、バナー ビューとステータス バーの背景ビューが上からスライドして表示されるようにアニメーション化されたトランジションがあります。これはすべて autolayout を使用して管理され、次のように表示されます (ステータス バーの背景は緑色で、この場合は が含まれていますUINavigationController)。

正しい

問題は次のとおりです。含まれているコントローラーとして UINavigationController を使用すると、バナーが表示されない場合、nav コントローラーがステータス バーの下に 20px 拡張されます。これは問題ありません。しかし、スーパービュー (コンテナー) を下に移動して iAD バナーを表示すると、20px の拡張子がそこに残り、次の結果が得られます。

違う

ただし、インターフェイスを回転させるなどの操作を行うと、ナビゲーション コントローラーはステータス バーが「遠い」ことを検出し、それ自体を調整します。

結果なしで、コントローラーとそのビューでそれぞれ呼び出そうとしsetNeedsStatusBarAppearanceUpdateました。layoutIfNeeded

ご覧になりたい場合は、プロジェクト全体を添付します:プロジェクトへのリンク

4

1 に答える 1