2012-02-22 11 views
3

分割されたコントロールを使用して異なる情報を表示する2つのビューコントローラーを切り替えるiPhoneアプリケーションを作成します。したがって、私は最初のビューのコントローラで、セグメント化されたコントロールを、IBで、対応するビューに配置するセグメント化されたコントロールにリンクして定義しました。このアクションでセグメント化されたコントロールを使用して2つのビューを切り替える

-(IBAction)valuechanged:(id)sender{ 

NSInteger index = [(UISegmentedControl *)sender selectedSegmentIndex]; 

UIViewController *parking=[[ParkingViewController alloc] 
initWithNibName:@"ParkingViewController" bundle:nil] ; 

viewControllers= [NSArray arrayWithObjects:self,parking,nil]; 


if(index==1){ 
    UIViewController * incomingViewController = [viewControllers objectAtIndex:index]; 
    [self presentModalViewController:incomingViewController animated:YES]; 
      } 
} 

、私はセグメント化control.Here上のユーザーのクリック後に何をすべきかを定義し、それはParkingViewControllerという名前の新しいのViewControllerをロードしています:

@interface FirstViewController : UIViewController{ 

//NSArray    * viewControllers; 
//UINavigationController * navigationController; 
IBOutlet UISegmentedControl *segment; //->segment linked in the nib of FirstViewController 

} 

セグメント化されたコントロールに関連するアクションは、以下のとおりです。 。問題は、新しいParkingViewControllerがロードされると、segmentedControlが消えてしまい、firstViewControllerに戻ることができないということです。

両方のビューのsegmentedControlを保持する方法がわかりません。

はすべて

クエンティン

答えて

0

は、私は戻ってfirstViewControllerに来ることができない...ありがとう?あなたはUIButtonを追加し、IBAction [自己dismissModalViewControllerAnimated:NO]を呼び出すことができます

。一般

+0

私の目的は、2つのViewControllerを切り替えるためにセグメント化されたコントロールを使用することだけではできません。 – Quentin91360

1

、UITabBarControllerは、2つ以上のビューコントローラを切り替える制御するために使用されます。それは画面上にとどまり、前後に切り替えることができます。

モダールビューを表示しても、セグメント化されたコントローラを画面に残すことはできません。モーダルビューが画面全体を引き継ぎます。また、画面にアニメートするので、新しいビュー内のセグメント化されたビューコントローラのコピーは、ユーザーが画面上にスクロールするのを見たため、同じセグメント化されたコントロールではありません。

関連する問題