7

我很清楚只有两个可用的 UIView 转换,UIViewAnimationTransitionFlipFromLeft 和 UIViewAnimationTransitionFlipFromRight。我想知道是否有任何方法可以实现/模拟 UIViewAnimationTransitionFlipFromTop 或 UIViewAnimationTransitionFlipFromBottom。

我能想到的唯一方法是用 y 轴翻转 x 轴,但我还没有看到有关如何执行此操作的任何信息。仅设置每个轴的坐标并不能解决问题,因为 x 轴仍然是 x 轴。

有谁知道如何做到这一点?

4

3 回答 3

4

您可以通过将 CATransform3D 应用到主视图的 CALayer 来实现此目的,而辅助视图的 CALayer 位于其后面。在这个回复中,我指出了 Mike Lee 对这个动画的 Mac 实现。您应该能够重用该代码的重要部分来在 iPhone 上重新创建这种效果。

于 2009-03-12T02:43:48.170 回答
3

猜猜你必须使用具有 90 度旋转变换的 UIView 动画块,完成后让 Core Animation 代理调用你,将视图与新视图交换(另一侧为 3D 旋转)并与最后 90 度为新视图...

于 2009-03-10T23:50:07.643 回答
1

尽管它不完全是您想要的,但有两个您没有提到的内置动画:UIViewAnimationTransitionCurlDown 和 UIViewAnimationTransitionCurlUp。

CurlUp 看起来像是有人正在从下到上剥离视图,而 CurlDown 看起来像是在屏幕顶部从上到下展开视图。你至少应该看看它们,因为它们很容易使用。

于 2009-03-22T20:11:09.800 回答