1

I'm trying to flip the viewcontroller inside navigationcontroller but with little success so far, I tried thousands of solutions but none suited. I want to flip the controller like this:

Press button to go on the map: http://i39.tinypic.com/fabul3.jpg

Press same button to go back with change image: http://i40.tinypic.com/2qa1y0h.jpg

I need to mantain the coerence with storyboard for segue. Do you have any idea or example of how to do this?

4

2 回答 2

2

您可能会发现转换视图本身更容易,而不是翻转视图控制器。有一种翻转视图的标准方法,在这个问题中有所介绍:

UIView如何实现翻转过渡效果

或者,您始终可以尝试通过自定义 segue 转换视图控制器本身,但我怀疑在 UIView 级别处理翻转会容易得多。

于 2013-05-28T09:31:46.717 回答
1

您可以在 Storyboard 中创建一个包含容器视图的新 UIViewController,并将火车网络地图视图控制器分配给容器视图。

然后在代码中,您可以从情节提要中实例化地图视图控制器:

self.mapViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MapViewController"];

阅读有关容器视图的更多信息以了解以下几行,假设 networkMapViewController 是您要翻转为 mapViewController 的初始视图控制器:

[self.networkMapViewConroller willMoveToParentViewController:nil];
[self addChildViewController:self.mapViewController];
[self.mapViewController didMoveToParentViewController];

然后你可以使用视图控制器方法 transitionFromViewController:toViewController:duration:options:animations:completion:

[self transitionFromViewController:self.networkMapViewController
                      toViewController:self.mapViewController
                              duration:.5
                               options:UIViewAnimationOptionCurveEaseInOut|UIViewAnimationOptionTransitionFlipFromRight
                            animations:nil
                            completion:^(BOOL finished) {
                                [self.networkMapViewController removeFromParentViewController];
                            }];

您将需要编写类似的代码,以便从地图视图控制器更改回 networkMapViewController。

于 2013-05-28T11:01:43.237 回答