我目前正在设计一个应用程序,它从服务中提取地图数据并将它们渲染为MKMapView上的引脚。此外,我的应用程序是使用故事板设计的,其中每个场景都嵌入在导航控制器中。我正在处理的功能要求我让用户能够在给定结果集的地图视图和表视图之间切换。为了提供这个功能,我在工具栏中包含了一个条形按钮项,当按下该按钮时,应该将当前视图翻转出来并进入第二个视图。
到目前为止,我一直在尝试以下代码,但无济于事:
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文件中,其中应用程序的其余部分位于故事板中。
问题
我目前的实施有什么问题?应该如何修改?
答案 0 :(得分: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.
}];
答案 1 :(得分:0)
检查此链接可能会对您有所帮助
how to implement an iPhone view transition animation with both flipping and scaling?
希望它对你有所帮助。谢谢!
答案 2 :(得分: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];