6

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

[UIView beginAnimations:@"yourAnim" context:nil];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:yourView cache:cacheFlag];
...
[UIView commitAnimations];

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

任何想法如何做出类似的效果?

谢谢

4

3 回答 3

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];

链接到关于 UIModalTransitionStyle 常量的 Apple Docs

于 2011-04-20T16:32:08.787 回答
7

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

方法

首先,我根据地图的截图在 Photoshop 中创建了一个页面角 PNG。

地图卷曲 PNG

页面卷曲 PNG

地图 - 隐藏选项

地图卷曲 - 地图

地图 - 显示选项

地图卷曲 - 选项显示

然后,我将它添加到一个 UIButton 中,该 UIButton 执行部分页面卷曲转换。

GitHub 上提供的完整源代码

完整的工作项目可在GitHub 上找到。为 iPhone 5 更新。

于 2012-07-05T10:14:31.687 回答
-1

使用未记录的动画类型mapCurlmapUnCurl

于 2010-05-19T08:11:52.600 回答