2011-08-08 14 views
2

2つのカスタムtabBarに配置されるカスタムスイッチを書きたいと思います。その構造は以下の通りです。enter image description here異なるUIViewコントローラを切り替える方法

私はuiviewcontrollerを使いたいです。

今私は、次のコードを使用します。

- (void)changeViewController:(NSInteger)sender{ 

    if(viewController){ 
     [viewController.view removeFromSuperview]; 
     [viewController release]; 
     NSLog(@"released"); 
    } 

    switch (sender) { 
     case 1:  
      viewController = [[VC1 alloc] init]; 
      break; 
     case 2: 
      viewController = [[VC2 alloc] init]; 
      break; 
     case 3: 
      viewController = [[VC3 alloc] init]; 
      break; 

     default: 
      break; 
    } 

    [viewController.view setFrame:CGRectMake(0, 100, 320, 380)]; 
    [self.view addSubview:viewController.view]; 

} 

を私はそれが間違っていると思います!

このような構造 - presentModalViewControllerdismissModalViewControllerAnimatedまたは他の方法で使用することができますnavigationViewController?あなたはこれを試みることができる

答えて

0

から[self.navigationController pushViewController:viewController animated:NO];

または[self.navigationController popToViewController:targetController animated:YES];

私は本当に、そのメモリ管理とはるかに応答して、シームレスな動作のためにnavigationControllerを購読するでしょう...

は、このことができます願っています。

+0

TNXをお試しください!私はカスタムナビゲーションコントローラを使いたい。私のアプリは3つのレベルを含んでいます。トップレベルはトップタブバーです。一番上のタブを切り替えると、別のビューコントローラが表示されます。このタブのビューでは、メインコンテンツを見ることができます。このコンテンツはビューコントローラです。 View Controllerを切り替えるにはどうすればよいでしょうか? –

+0

'self.view'の代わりに' custom navigation controller'を使うことができます。それを試してみて、私の気持ちはうまくいくはずです... –

+0

popToViewControllerはNavigationControllerのメソッドであり、ビューにはありません –

2

この

[self.navigationController pushViewController:viewController animated:YES]; 

または

[self.view addsubview:viewcontroller.view]; 
関連する問題