このサイトとインターネット全体を検索しようとしましたが、データを共有しながら複数のビュー コントローラーを切り替える方法が見つかりませんでした。次のコードを使用しようとしました (最初のメソッドが別のメソッドを呼び出してからビューを切り替えます):
-(IBAction) choosePhoto:(id)sender {
[self startMediaBrowserFromViewController: self
usingDelegate: self];
if(firstViewController.view.superview == nil)
{
[secondViewController viewWillAppear:YES];
[firstViewController viewWillDisappear:YES];
[firstViewController.view removeFromSuperview];
[self.view insertSubview:self.secondViewController.view atIndex:0];
[firstViewController viewDidDisappear:YES];
[secondViewController viewDidAppear:YES];
}
//3. now add animation
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:1.25];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
//blue view will appear by flipping from right
if (secondViewController.view.superview == nil)
{
[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight
forView:self.view cache:YES];
[secondViewController viewWillAppear:YES];
[firstViewController viewWillDisappear:YES];
[firstViewController.view removeFromSuperview];
[self.view insertSubview:self.secondViewController.view atIndex:0];
[firstViewController viewDidDisappear:YES];
[secondViewController viewDidAppear:YES];
}
[UIView commitAnimations];
}
- (IBAction)switchViews:(id)sender {
if(self.secondViewController.view.superview == nil)
{
[firstViewController.view removeFromSuperview];
[self.view insertSubview:secondViewController.view atIndex:0];
}
}
これは素晴らしいアニメーションを行いますが、View Controller を切り替えません。
助けてください?
編集:また、最初のView Controller内に別のビューを配置し、ビューを切り替える方法が役立ちます。