一堆人有興趣在執行這樣的原生地圖應用程序中發現的iOS的頁面捲曲模式轉變 - 看here,here和here - 但問題似乎並沒有已得到充分回答。所以:實現Google地圖iOS版風格的頁面捲曲的手勢交互
是否有可能在主視圖下顯示頁面捲曲模式,就像iOS 6上的地圖中的情況一樣?我希望通過用手指「捲曲」頂部視圖來實現segue,從而與捲曲產生直接交互的外觀,就像iBooks在同一版本的iOS中一樣。
實現segue本身(如在部分捲曲轉換中)不是問題 - 添加手勢交互(與動態部分剝離)是。
一堆人有興趣在執行這樣的原生地圖應用程序中發現的iOS的頁面捲曲模式轉變 - 看here,here和here - 但問題似乎並沒有已得到充分回答。所以:實現Google地圖iOS版風格的頁面捲曲的手勢交互
是否有可能在主視圖下顯示頁面捲曲模式,就像iOS 6上的地圖中的情況一樣?我希望通過用手指「捲曲」頂部視圖來實現segue,從而與捲曲產生直接交互的外觀,就像iBooks在同一版本的iOS中一樣。
實現segue本身(如在部分捲曲轉換中)不是問題 - 添加手勢交互(與動態部分剝離)是。
我不認爲你需要一個OpenGL ES
捲曲你的mapView
像iOS的5.您可以只實現在QuartzCore framework
本身。你可以看到我的代碼,因爲我提到here我也修改了代碼,並嘗試這種
- (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);
}
我的壞我應該只是說了iOS 6.它不是我要去的頁面捲曲模式,它是用平移手勢提升地圖視圖的能力,就像在iOS 6中訪問地圖設置的方式一樣。 – NSTJ
你與UIPageViewController嘗試過嗎?我認爲這允許直接互動。 – Felix
UIPageViewController可以用來顯示地圖中的模態嗎? – NSTJ
不,我想很難再現地圖應用中捲曲的確切行爲。我不知道如何達到固定的捲曲位置。 – Felix