iPhoneアプリにビュー(および対応するビューコントローラー)があり、ユーザーがアプリケーションの設定を編集できるようになっています。このビューには、メニュー(テーブルビュー)からアクセスできます。UIViewControllerサブクラスでpushViewControllerを使用して、表示します。これを行うと、期待どおりに表示されます。ナビゲーションバーがxibの上に表示され、xibに残した空きスペースが占有されます。
また、presentModalViewControllerを使用して、設定ビューをモーダルビューとして表示することもあります。これを行うと、xibの上部は、ナビゲーションバーの下ではなく、下部から始まります。
ドキュメントには、presentModalViewControllerがビューのサイズを適切に変更すると記載されているため、これは予想される動作であることがわかります。しかし、私にとって、それは望ましい行動ではありません。
ナビゲーションバーを表示しないように設定ビューコントローラーを設定することで、この問題を回避できますが、ビューの上部に奇妙な空のスペースがあります。
理想的には、これらの両方の状況で同じxibを使用したいと思います。ただし、それはベストプラクティスではないでしょうか。皆さんは通常、どのようにxibを再利用しますか?
モーダルモードの場合は、ビューコントローラーですべてのコントローラーを上にシフトできるのではないかと考えていましたが、利用できる場合はもっと良いものが欲しいです。