私は、UINavigationController経由でロードされたいくつかのUIViewControllerを持っています。ここでloadViewをオーバーライドし、表示するカスタムビューをセットアップします。私はいくつかのサブビューのフレームを設定する際に問題を抱えており、おそらくビューそのものです。私は、UINavigationControllerまたはUIViewControllerのどちらかが、表示されたときに画面を満たすためにビューを強制的に押すことができると思います。UIViewControllerまたはUINavigationControllerはビューのサイズを設定しますか?
ビューのサイズが設定されているかどうか、および/またはいつ設定されているのでしょうか。それが起こっている場合は、ビューのフレームを設定するか、それを別の方法で行います。
ありがとうございました。更新
:
- (void)loadView
{
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10.0f, 10.0f, 10.0f, 10.0f)];
[view setBackgroundColor:[UIColor redColor]];
self.view = view;
[view release];
}
が、私は状況を除いて、画面全体を占有赤いビューを取得:このを通じて仕事をしながら は、私はちょうど気づいたが、私はこのloadViewメソッドで、新しいUINavigationControllerを作るということですバーとヘッダー。画面を埋めるために私のビューのサイズをいつ変更するのですか?ビューを作成するときに使用するサイズは?
ありがとうございます。私のビューをビューコントローラloadViewにロードするとき、UINavigationController経由でプッシュすると、CGRectMake(0.0、0.0、320.0、416.0)としてフレームを設定するだけでいいですか? UINavigationBarまたはステータスバーのフレーム原点y座標を補正する必要はありませんか? – Ryan
NavBarの下部がビューコントローラーの新しいX、Y原点になります。調整された高さを補正するだけで済みます。ディメンションの使用を確認するには NSLog(@ "wxh =%fx%f"、self.view.frame.size.width、self.view.frame.size.height); ' – Wolfert
ありがとうございました私のために。ビューがいつ変更されるのか、私はまだ不思議です。私がloadViewで間違ったサイズを設定したとしても、正しいサイズに変更されるからです。私はあなたにそれを受け入れるでしょう。再度、感謝します。 – Ryan