我加入了一些基本的动画到游戏卡我的工作。 (我的第一个iPhone应用程序。)
我创建一个自定义的UIView类“AnimationContainer”,从图像1翻转到镜像2,而从Rect1的到RECT2移动。 我的最终目的是有多达这些容器同时做他们的过渡中的四个。
我遇到的问题是,动画不显示图像1 ......出现这样只有翻动过渡的后半段。
但是,如果我第一次重置动画通过触摸复位,然后一切完美的作品。 换句话说,如果我按一次又一次地翻转,我只得到一半的过渡......但如果我按先复位,然后一切完全适用于一个翻转。
所以,我怎么能得到的动画本身正确重置?
下面是代码,截图,这里是到完整的链接: 项目Zip文件700K 。
- (void)displayWithImage1 { //RESET button calls this
self.frame = rect1;
[image2 removeFromSuperview];
[self addSubview:image1];
[self setNeedsDisplay]; //no help: doesn't force an update before animation
}
- (void)runTheAnimation { //FLIP button calls this
[self displayWithImage1]; //<---this is what the reset button calls
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[UIView setAnimationTransition:transition forView:self cache:NO];
self.frame = rect2;
[image1 removeFromSuperview];
[self addSubview:image2];
[UIView commitAnimations];
}
谢谢!