2012-03-30 57 views
0

我目前正在设计一个应用程序,它从服务中提取地图数据并将它们呈现为MKMapView上的引脚。另外,我的应用程序是使用故事板设计的,每个场景都嵌入在导航控制器中。我正在处理的功能要求我为用户提供在给定结果集的地图视图和表视图之间切换的功能。为了提供这种功能,我在工具栏中包含了一个条形按钮项(当按下时)应该将当前视图和第二个视图翻转。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 2012-04-01 01:36:18

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];