如何在iPhone中制作半卷曲动画,如地图应用程序?

Bir*_*chi 6 iphone uikit uiviewanimation uiviewanimationtransition

我正在使用以下代码进行页面卷曲动画

[UIView beginAnimations:@"yourAnim" context:nil];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:yourView cache:cacheFlag];
...
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

是否有可能像iphone/ipod上的maps.app一样制作半卷曲动画?

任何想法如何产生类似的效果?

谢谢

gif*_*iff 9

从3.2开始,Apple确实支持这种模式视图的呈现.这是有道理的:页面卷曲效果旨在向用户发出一个选项或设置页面被显示的信号,当它们完成更改后,它们将被发送回原始视图.Apple不希望动画推断出对页面层次结构的持续更改,只是一个必须返回其起始位置的模式.

它非常简单易用; 只需确保您从全屏视图开始,并加载UIModalPresentationFullScreen样式,我认为这是默认设置.

有一些动画过渡在UIViews中使用类似的效果,通常是从4.0开始添加的,但这是使用效果的简单方法.

simpleVC * myModalVC = [[simpleVC alloc] init];
[myModalVC setModalTransitionStyle:UIModalTransitionStylePartialCurl];
[myModalVC setDelegate:self];

[self presentModalViewController:myModalVC animated:YES];
[simpleVC release];
Run Code Online (Sandbox Code Playgroud)

链接到UIModalTransitionStyle常量上的Apple Docs


Cam*_*mer 7

我也一直在研究这个问题,我在短期内确定了PNG版本,它放在一个按钮内并使用curl来显示动画.我的解决方案中唯一缺少的是能够以地图中的方式与卷曲页面进行交互(播放).

方法

首先,我根据地图的截图在Photoshop中创建了一个Page corner PNG.

地图卷曲PNG

Page Curl PNG

地图 - 选项隐藏

地图卷曲 - 地图

地图 - 选项显示

Map Curl  - 选项显示

然后,我将它添加到执行部分页面卷曲转换的UIButton.

完整的源代码可在GitHub上获得

完整的工作项目可在GitHub上获得.针对iPhone 5进行了更新.