3

iPhoneアプリにビュー(および対応するビューコントローラー)があり、ユーザーがアプリケーションの設定を編集できるようになっています。このビューには、メニュー(テーブルビュー)からアクセスできます。UIViewControllerサブクラスでpushViewControllerを使用して、表示します。これを行うと、期待どおりに表示されます。ナビゲーションバーがxibの上に表示され、xibに残した空きスペースが占有されます。

また、presentModalViewControllerを使用して、設定ビューをモーダルビューとして表示することもあります。これを行うと、xibの上部は、ナビゲーションバーの下ではなく、下部から始まります。

ドキュメントには、presentModalViewControllerがビューのサイズを適切に変更すると記載されているため、これは予想される動作であることがわかります。しかし、私にとって、それは望ましい行動ではありません。

ナビゲーションバーを表示しないように設定ビューコントローラーを設定することで、この問題を回避できますが、ビューの上部に奇妙な空のスペースがあります。

理想的には、これらの両方の状況で同じxibを使用したいと思います。ただし、それはベストプラクティスではないでしょうか。皆さんは通常、どのようにxibを再利用しますか?

モーダルモードの場合は、ビューコントローラーですべてのコントローラーを上にシフトできるのではないかと考えていましたが、利用できる場合はもっと良いものが欲しいです。

4

1 に答える 1

1

各UIViewには、autoresizingMaskプロパティがあります。これを設定することで(Interface Builderで実行可能)、ビューを再利用し、ナビゲーションバーが表示されていないときに画面全体を占めるように自動的にサイズ変更できるようにする必要があります。

Appleのドキュメントはここにあります:

http://developer.apple.com/iPhone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/WindowsandViews/WindowsandViews.html#//apple_ref/doc/uid/TP40007072-CH8-SW10

于 2009-09-16T22:42:46.893 に答える