iOS7 の UINavigationBar で奇妙な状況に遭遇しました。誰かがこれに遭遇したか、解決策を見つけたかどうか疑問に思っていました。
rootViewControllerとして埋め込まれたビュー全体(ペン先に追加)を占めるテーブルビューを持つ別のUIViewControllerを持つUINavigationControllerがあります。UINavigationController の navBar の半透明プロパティは NO に設定されています。それについては後で詳しく説明します。ルート コントローラには次のコードが含まれています。
[self.navigationItem setPrompt:@"My Prompt Text"];
これにより、テキストに合わせて UINavigationBar が拡大されます。それはいいです。
プロンプト プロパティを設定しない新しいビュー コントローラーをプッシュすると、ナビゲーション バーが小さいサイズにアニメーション化されますが、テーブルビューのフレームは調整されません (ビューの境界でもあり、ペン先を介して追加されます)。そのため、ナビゲーション バーの下部とテーブル ビューの上部の間にこの黒いスペースが存在するようになりました。
同様に、前に戻ると、プロンプトに合わせてナビゲーション バーのアニメーションが大きくなり、テーブルビューのフレームに重なって表示されます。
ここで、戻ってナビゲーション バーの半透明プロパティを YES に設定すると、すべてが希望どおりに機能します。何を与える?