既存のアプリを iOS 7 に移行しています。これはタブ バー アプリケーションであり、各タブにはナビゲーション コントローラーに埋め込まれたテーブル ビュー コントローラーがあります。ストーリーボードを使用しており、[スクロール ビュー インセットの調整] を有効にして、半透明のナビゲーション バーを使用しています。アプリを実行すると、すべてが正常に見えます。テーブル ビューのコンテンツは、ナビゲーション バーの下にうまく配置されています。
メモリ警告をシミュレートすると、表示されていないテーブル ビューがアンロードされます。それらが再度読み込まれると、テーブル ビューの上部がナビゲーション バーの下に表示されます。また、ビューが読み込まれる直前に、コンソールに警告が表示されます。
上部のレイアウト ガイドの長さの制約が予期せずコンテナーを失いました。アプリケーションは、View Controller のビューからすべての制約を削除しましたか (これはアプリ エラーになります)?
自動レイアウトを使用していませんが、オンにしても違いはありませんでした。電話[self setEdgesForExtendedLayout: UIRectEdgeNone]
をviewDidLoad
かけることで問題は解決しますが、ナビゲーション バーに背景が表示される効果が得られません。
メモリ警告後にリロードすると動作が異なるのはなぜですか? 上部レイアウト制約の警告の原因は何ですか? これをどのように修正できるかについての手がかりをいただければ幸いです。