2011-07-04 4 views
1

私は自分のアプリケーションでテーブルビューをいくつか持っており、自動サイズ変更マスクを幅と高さに柔軟に設定しました。しかし、私がtableviewを使用するビューコントローラを開いたとき、私は自動サイズ設定マスクを設定していないことに気付きましたが、テーブルビューはiPad上で正しくサイズ変更されています。テーブルビュー上に自動サイズ変更マスクを設定する必要はないということですか?UITableViewはデフォルトでマスクを自動でオンにしますか?

答えて

1

より正確には、UIViewControllerフレームワークは、表示されているコンテキストに応じてビューのサイズを明示的に変更することが好きです。たとえば、iPhone UINavigationControllerとUITabBarControllerでは、viewControllerのビューのサイズを明示的に変更して、使用可能なすべての画面の不動産を埋めます。 iPadでは、UISplitViewControllerは、マスターおよびディテールビューコントローラのビューのサイズを明示的に変更して、適切なディメンションを横長モードに合わせます。これらのコンテナ・ビュー・コントローラによって実行されるこの明示的なサイズ変更は、技術的には自動サイズ調整ではないため、これらのビュー・コントローラはビ​​ューの自動サイズ変更マスクを無視します。

ビューの自動サイズ変更マスクは、1つの特定の質問に答えます。スーパービューの境界が変更された場合、このビューはどのように動作しますか? UIViewControllerのビューがコンテナビューコントローラによって明示的にサイズ変更されると、スーパービューの境界の変更の結果として起こっていないため、これは自動サイズ変更とはみなされません。

もちろん、明示的にサイズ変更されたビューにサブビューがある場合、それらのサブビューは、autoresizingMasksで指定されているようにスーパービューの明示的なサイズ変更の副作用として自動化されます(ただし、スーパービューのautoresizesSubviewsはYESに設定されます)。

0

はい。 .xibでtableviewを追加すると、デフォルトのプロパティは幅と高さが柔軟になります。

+0

いいえ、これはloadViewメソッドのコードで行われます。 – LuckyLuke

+0

それはyupのデフォルトプロパティです。それは新しいSDKで起こるかもしれない。 –

関連する問題