2012-04-18 20 views
0

私は自分のrootviewcontrollerを持っています。でそのIロードビューA. ビューAは、しかし、私はこれを行うとどうなるビューAのサブビューとしてビューBを追加したくないのビューBをロードするためのボタンをcontaints:サブビューからの親ビューへのビューの追加

- (IBAction)loadViewB:(id)sender { 

    if (self.viewB == nil) { 
     self.viewB = [[NUMViewController alloc] initWithNibName:@"NUMviewController" bundle:Nil]; 
    } 

    [self.view addSubview:viewB.view]; 

} 

私は私のrootviewのサブビューとしてviewBをロードしたい。 viewBでアニメーションを作成する前に、viewAをアニメーション化することができます。

しかし、私はこれにどのようにアプローチしなければならないのか分かりません。私は私のrootViewControllerでサブビューの追加と削除を処理するメソッドが必要であると推測しています。私は私のviewAサブビュー内からそのメソッドを呼び出すことができる必要があります。

ありがとう!

答えて

1

try [self.view.superview addSubview:viewB.view]
しかし、私はこれがMVCのように最善のアプローチだとは思わない。
viewAをself.viewに追加し、viewBをself.viewに追加することもできます。

+0

ありがとうございました。私はviewAとBをself.viewに追加することを理解していません。どのようにしてアニメーションを作成するのですか?私のrootviewcontrollerのビューをself.viewですか、私はviewAとBを割り当てるコンテナビューについて話していますか? –

+0

はい、そうです。ここにシナリオがあります。メインビュー(self.view)を持つルートビューコントローラがあります。 2つのUIViewプロパティをルートビューコントローラ(viewAとviewB)に追加し、それらを初期化し、それらをサブビューとしてself.view(ルートビューコントローラのメインビュー)に追加します。次に、プロパティを使用してそれらを制御したり、アニメートしたり、好きなようにしたりできます。 deallocメソッドでそれらを解放することを忘れないでください(ARCを使用していない場合)。 (実際には、プロパティをUIViewControllerにすることができます。UIViewControllerはビューを初期化してself.viewに追加します)。 – graver

関連する問題