2012-03-30 7 views
0

私は現在、サービスからマップデータを取得し、MKMapViewのピンとしてレンダリングするアプリケーションを設計しています。さらに、私のアプリケーションは、各シーンがナビゲーションコントローラ内に埋め込まれたストーリーボードを使用して設計されています。私が取り組んでいる機能では、与えられた結果セットのマップビューとテーブルビューを切り替える機能をユーザーに与える必要があります。この機能を提供するために、ツールバーに(現在のビューを外にして)2番目のビューを表示するツールバーのバーボタンアイテムが含まれています。FlipView Transition

これまでのところ、無駄:

MapListViewController *map = [[MapListViewController alloc]init]; 
[UIView beginAnimations:@"flip animation" context:nil]; 
[UIView setAnimationDuration:3.0]; 
[UIView setAnimationCurve:UIViewAnimationCurveLinear]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:map.view cache:YES]; 

[self.mapView removeFromSuperview]; 
[self.view addSubview:map.view]; 
[UIView commitAnimations]; 

私はもともとhereからこのアプローチを得たが、それは私のために動作していないようです。注意すべき

カップルより多くの事:

  • フリップビュー遷移のみが現在上部と下部のナビゲーションバー内に表示ビューを変更する必要があります。

  • 新しいビューをモーダルに表示することは、ナビゲーションコントローラのサイトを失うためオプションではありません。

  • 結果セットをリスト形式(つまりUITableView)で表示するビュー/ビューコントローラは、アプリケーションの残りの部分がストーリーボード内にある単一のxibファイルに含まれています。

質問

私の現在の実装の何が問題になっているのですか?どのように変更する必要がありますか?

答えて

3

私が使用していない、あなたのメソッドを使用しますが、私UIViewクラスメソッドを使用していくつかのビューを反転させて実装しました。それは非常に簡単で簡単でした。他のオプションについては、ドキュメントを参照してください。

[UIView transitionFromView:self.firstVC.view toView:self.secondVC.view duration:1.0 options:UIViewAnimationOptionTransitionFlipFromLeft completion:^(BOOL finished) { 
    // add any completion code here if needed. 
}]; 
+0

チャームのように働いた。ありがとう! – dpalmajr

0

こんにちは、このようないくつかのものが使用にこれをプッシュするあなた

を助けるべきで実装..

[UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1]; 
    [navigationController pushViewController:viewController animated:NO]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:navigationController.view cache:NO]; 
    [UIView commitAnimations]; 

POPのこの

[UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:1]; 
    [navigationController popViewControllerAnimated:NO]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:navigationController.view cache:NO]; 
    [UIView commitAnimations];