3

UINavigationController のサイズ変更動作に関する Apple のドキュメントを読んだことがありますが、これまで大きな問題はありませんでした。

UINavigationController のビューを設定する次のコードがあります。

navController.view.frame = CGRectMake(0, 40, 320, 420);

ビューがモーダル ビューによって隠されるまではこれで十分です。その時点で、ビューは と の呼び出しの間のどこかでデフォルト サイズにサイズ変更されますviewWillAppear( viewDidAppearUINavigationController は UIViewController から継承されるため)。

UINavigationController の上 (利用可能な 40 x 320 のスペース) にバナーを表示したままにしようとしていますが、このバナーは上記のように一貫して隠されています。

UIViewController を自分でサブクラス化せずに UINavigationController のサイズ変更動作を抑制する方法はありますか?

4

2 に答える 2

2

インターフェイスビルダーでは、自動サイズ変更チェックボックスをオフにすることができます。

コードでは、

[myNavController.view setAutoresizesSubviews: NO];
于 2010-08-31T18:34:54.240 に答える
0

やってみます

myNavController.superview.autoresizesSubviews = NO

そして明らかにチェックmyNavController.autoresizingMask

最後の手段として、そのスーパービューをサブクラス化し、layoutSubviews を再実装します。

于 2010-09-07T21:18:58.057 に答える