很多人有兴趣在 iOS 中实现页面卷曲模态转换,就像在原生地图应用程序中找到的那样 - 请参阅此处、此处和此处- 但是问题似乎没有得到完全回答。所以:
是否可以像目前在 iOS 6 上的 Maps 中那样在主视图下方显示页面卷曲模式?我希望通过用手指“卷曲”顶视图来实现转场,给人一种与卷曲直接交互的外观,就像在相同版本的 iOS 中使用 iBooks 的情况一样。
实现 segue 本身(如在部分卷曲过渡中)不是问题 - 添加手势交互(使用动态部分剥离)是问题。
这段代码可以解决问题:XBPageCurl
我认为你不需要在 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);
}