首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现iOS地图样式的页面卷曲手势交互

实现iOS地图样式的页面卷曲手势交互
EN

Stack Overflow用户
提问于 2012-06-29 18:50:00
回答 2查看 4.9K关注 0票数 5

很多人对在iOS中实现页面卷曲模式转换很感兴趣,就像在原生地图应用程序中找到的一样-参见hereherehere -但是这个问题似乎还没有完全回答。所以:

是否可以像iOS 6上的地图一样在主视图下显示页面卷曲模式?我希望通过用手指“卷曲”顶视图来实现分段,给人一种与卷曲直接交互的感觉,就像iOS的相同版本中的iBooks一样。

实现segue本身(就像在部分卷曲转换中一样)不是问题,添加手势交互(具有动态部分剥离)才是问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-12 00:48:13

下面这段代码可以做到这一点:XBPageCurl

票数 3
EN

Stack Overflow用户

发布于 2013-01-31 17:15:37

我不认为你需要一个OpenGL ES来卷曲你的mapView,就像在iOS 5中一样,你可以在QuartzCore framework中实现这一点。正如我提到的here,您可以看到我的代码,我还修改了该代码,并尝试如下所示

代码语言:javascript
复制
- (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);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11260443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档