我该如何实现iPhone音乐应用程序中CoverFlow屏幕上所看到的动画效果?当您点击小视图时,它会翻转并缩放到另一个视图?我可以使用核心动画来翻转和缩放视图,但如何进行到另一个视图的过渡呢?谢谢。
我该如何实现iPhone音乐应用程序中CoverFlow屏幕上所看到的动画效果?当您点击小视图时,它会翻转并缩放到另一个视图?我可以使用核心动画来翻转和缩放视图,但如何进行到另一个视图的过渡呢?谢谢。
UIView *flipContainer;
UIView *frontSide;
UIView *backSide;
//...
-(void)turnUp
{
[backSide removeFromSuperview];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:flipContainer cache:YES];
[UIView setAnimationDuration:1.0];
CGAffineTransform transform = CGAffineTransformMakeScale(1.2, 1.2);
flipContainer.transform = transform;
[UIView commitAnimations];
[flipContainer addSubview:frontSide];
}
-(void)turnDown
{
[frontSide removeFromSuperview];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:flipContainer cache:YES];
[UIView setAnimationDuration:1.0];
CGAffineTransform transform = CGAffineTransformMakeScale(1, 1);
flipContainer.transform = transform;
[UIView commitAnimations];
[flipContainer addSubview:backSide];
}
+[UIView setAnimationDuration:]
! - Jacob Relkin我正在尝试你所做的确切代码 - 我得到了缩放效果,但没有翻转效果。唯一的区别是,在执行 turnUp 代码之前,我添加了 flipContainer(背面显示),这样它就可以翻转过来。
// construct animation container
self.flipContainer = [[FlipContainer alloc] init];
[self.flipContainer.view setFrame:CGRectMake(clickedSquareX, clickedSquareY, 200, 200)];
[self.flipContainer.view addSubview:self.backside.view];
// add animation container
[self.myParentView.view addSubview:self.flipContainer.view];
// PROCEED to your turnUp code
我这样做的原因是因为我在一个水平UIScrollView中有一堆图片,所以为了“模拟”一个200x200的图片翻转并放大显示细节,我会添加我的flipContainer,并在被按下的图片的确切位置上显示背面的图像。这应该有效果,对吗?让我有点困惑的是你的turnUp代码的第一行:
[backSide removeFromSuperview];
这会删除我刚添加的视图。
我不确定这是否是正确的位置来提出这个问题 - 如果不是,请抱歉!