UIViewControllers转换效果像iBooks Book打开效果?

时间:2012-07-20 05:52:53

标签: ios iphone core-animation ibooks cakeyframeanimation

我一直致力于应用程序,这是iBooks的克隆,在过去的两天里,我一直试图为iBook app执行的书籍封面流动画。

这是一个iBooks ScreenShot,我的书架完全像这样:

enter image description here

当用户点击我想要执行动画转换的任何书籍时,如下所示:

enter image description here

enter image description here

你可以在左边看到书籍封面翻转,白色视图是用于加载书籍内容的新视图控制器。

任何人都可以帮我解决这个问题吗?我想要执行完全相同的动画。有两个viewcontrollers。

4 个答案:

答案 0 :(得分:5)

我在github上编写了一个ibook开放式效果演示代码,你可以看到iBooksOpen

答案 1 :(得分:4)

检查出来可能会帮助你:

   coverView.layer.anchorPoint=CGPointMake(0, .5);
  coverView.center = CGPointMake(coverView.center.x - coverView.bounds.size.width/2.0f, coverView.center.y);

    NSLog(@"%f",coverView.layer.anchorPoint.y);

    [UIView animateWithDuration:.5 delay:0 options:UIViewAnimationCurveEaseIn  animations:^{
        coverView.transform = CGAffineTransformMakeTranslation(0,0);
        CATransform3D _3Dt = CATransform3DIdentity;
        _3Dt =CATransform3DMakeRotation(3.141f/2.0f,0.0f,-1.0f,0.0f);
        _3Dt.m34 = 0.001f;
        _3Dt.m14 = -0.0015f;
        coverView.layer.transform =_3Dt;
    } completion:^(BOOL finished){
        if (finished) {
            [self animateCurrentViewController];
            [self toolBarAndNavigationBarNeedToShow:YES];
        }
    }];

CoverView只不过是你的观点

答案 2 :(得分:1)

注: LibraryViewController - 书架上的东西 ReadingViewController - 发生阅读的ViewController(参见问题的最后一张图片)

让我们说封面是UIImageView。使用iOS 5.0+,您可以添加readingViewController作为LibrabryViewController的子视图。然后其中一个动画是缩放书(readingViewController + UIIMageView)。我建议在这里设置一个UIView的动画,它是两者的容器。 第二个是翻盖:

UIIMageView.transform = CGAffineTransformMake(a,b,c,d,tx,ty); 我认为a和d应该是-1 See more for CGAffineTransform

P.S。这似乎是一个有趣的问题。如果我的建议方法可行,请告诉我!

答案 3 :(得分:0)