2011-01-12 8 views
0

以前、私は常にルートのUIView要素(IE)UIViewControllerのルートUIViewが自動サイズ設定されていますか?

// UIViewController -loadView 
CGRect viewFrame = CGRectMake(0, 20, 320, 460); 
UIView *view = [[UIView alloc] initWithFrame:viewFrame]; 
[self setView:view]; 
[view release]; 

のサイズと位置を設定したプログラム的にコントローラを設定するときならば、あなたがルートを追加することを私は気づいた(と誰でも確認することができる場合、私は疑問に思います) UIViewを使用して、使用可能なスペースに自動サイズ設定するときにサイズや位置を設定する必要はありません。 (つまり)

// UIViewController -loadView 
UIView *view = [[UIView alloc] init]; 
[self setView:view]; 
[view release]; 

私は、その後のUIViews(すなわちUIButton、UILabelなど)を配置してサイズする必要があることを理解し、私はちょうど私が私が現在見ています動作を理解していますを確認します。

答えて

1

ビューのフレームのサイズを変更します。

UIView *view1 = [[UIView alloc] init]; 
NSLog(@"ViewFrame before set:%@",NSStringFromCGRect(view1.frame)); 
[self setView:view1]; 
NSLog(@"ViewFrame after set:%@",NSStringFromCGRect(view1.frame)); 
[view1 release]; 

しかし、これを正当化するドキュメントでは何も見つかりませんでした。

+0

感謝、thatsの知って確かに良いです。 – fuzzygoat

0

任意のUIViewControllerのルートビューのサイズは、そのコントローラの親インスタンス(別のコントローラまたはウィンドウでもよい)によって管理されます。それは自動的にサイズを決定します。たとえば、UITabBarControllerを作成する場合は、すべての子コントローラのルートビューのサイズが決まります。独自のコンテナビューコントローラを作成する場合は、子コントローラのルートビューのサイズを決定する必要があります。

、このトピックの「ビューの管理」セクションを参照してください: UIViewController Class Reference

関連する問題