2009-08-25 12 views
0

私はUIScrollViewに追加したいUIViewを制御するUIViewControllerサブクラスを持っています。私だけのビューが高く100pxになりたいが、私は、スクロールビューに追加するとき、それは640x460ピクセルの高作られます、私は設定されたフレームのサイズを無視:UIViewのサイズを設定する

MyViewController *vc = [[MyViewController alloc] init]; 
vc.view.frame = CGRectMake(0, 0, 320, 100); 
myScrollView.autoresizesSubviews = NO 
[myScrollView addSubview:vc.view]; 
[vc release]; 

を私はサブビューの自動サイズ変更しないようにスクロールビューを設定しているが、これはまだ起こっているようです!私に何ができる?

私はまた、UIViewController(ここで私はすべてのコントロールを追加し、ビューのサイズにアクセスする必要があります)でもloadViewの内部でフレームサイズを設定しようとしましたが、どちらも問題ありません!

- (void)loadView { 
    [super loadView]; 
    self.view.backgroundColor = [UIColor redColor]; 
    self.view.frame = CGRectMake(0, 0, 320, 100); // still doesnt work 
} 

ご協力いただければ幸いです。

答えて

1

あなたはloadViewを間違って使用しています。私はビューを見ることに驚いていても、loadViewではloadViewで新しいビューを割り当てなければなりません。ロードビューの代わりにviewDidLoadでも同じことをする必要があります。

+0

はい[super loadView]の呼び出しがプレーンなUIViewオブジェクトを作成するため、ビューが表示されています。なぜ私はそれがビューを自動化しているのか分かりません。 –

+0

あなたは何をやっているのか分かりませんが、見ることでそれをやろうとしました – Daniel

+0

ああ、今修正!本当にどうしたらいいかわかりませんが、うまくいきます!私はloadViewを使って私のビューをセットアップし、viewDidLoadを使って私のビューを現在のデータと設定で埋めています。これは大丈夫だと私は信じている。ご協力いただきありがとうございます! –

0

ここでは私がどのように行うのかについての抜粋です。原点はあなたが追加しているビュー(私の場合は 'self')に関してです。

appRect.origin=CGPointMake(0.0, 0.0);// origin 
appRect.size = CGSizeMake(320.0f, 100.0f); //size 
CGRect frame = CGRectInset(appRect, 0.0f, 0.0f); 
gv=[[GraphicsView alloc] initWithFrame:appRect object:[model me]]; 
[gv setFrame:frame]; 

[self.view addSubview:gv]; 
[gv release]; 
関連する問題