5

很多人有兴趣在 iOS 中实现页面卷曲模态转换,就像在原生地图应用程序中找到的那样 - 请参阅此处此处此处- 但是问题似乎没有得到完全回答。所以:

是否可以像目前在 iOS 6 上的 Maps 中那样在主视图下方显示页面卷曲模式?我希望通过用手指“卷曲”顶视图来实现转场,给人一种与卷曲直接交互的外观,就像在相同版本的 iOS 中使用 iBooks 的情况一样。

实现 segue 本身(如在部分卷曲过渡中)不是问题 - 添加手势交互(使用动态部分剥离)是问题。

4

2 回答 2

3

这段代码可以解决问题:XBPageCurl

于 2012-07-11T16:48:12.533 回答
0

我认为你不需要在 iOS 5OpenGL ES中卷曲你mapView喜欢的东西。你可以QuartzCore framework自己实现这一点。您可以看到我在此处提到的代码,我还修改了该代码并尝试了这个

- (void)mapCurl {
    [UIView animateWithDuration:1.0 
                     animations:^{
                         CATransition *animation = [CATransition animation];
                         [animation setDuration:0.7];
                         [animation setTimingFunction:[CAMediaTimingFunction functionWithName:@"default"]];
                         animation.fillMode = kCAFillModeForwards;
                         [animation setRemovedOnCompletion:NO];
                         // For curl and uncurl the animation here..
                         if (!_isCurled) {
                             animation.endProgress = 0.65;
                             animation.type = @"pageCurl";
                             [_locationMapView.layer addAnimation:animation forKey:@"pageCurlAnimation"];  
                             // _backView is a view behind the mapView
                             [_locationMapView addSubview:_backView];                                 
                         }else {
                             animation.startProgress = 0.35;
                             animation.type = @"pageUnCurl";
                             [_locationMapView.layer addAnimation:animation forKey:@"pageUnCurlAnimation"];  
                             // _backView is a view behind the mapView
                             [_backView removeFromSuperview];
                         }
                     }
     ];                    
    _isCurled = (!_isCurled);
}
于 2013-01-31T09:15:37.053 回答