我有一张卡(你可以说是一张闪卡)
我能做什么:
手指扫过闪卡时,卡片会转动。这是通过检测发生的 touchesBegan和touchesMoved然后我做像
这样的事情[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
if (left) {
[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:self.flashCardView cache:YES];
}else{
[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight forView:self.flashCardView cache:YES];
}
我不能做什么(但想要):
我想以某种方式拖动翻盖。 想象一下,你有一张闪卡,你认为你知道答案,你开始翻转卡,因为你想看看你是否正确,但是......没有停止......你犹豫,把卡转回去它的方式,重新思考,得到真正的答案,然后最后翻看,看你是犹豫不决。
现在我只有:一旦你开始翻转,你就无法阻止它。
那么你对如何做到这一点有任何暗示吗?要读些什么?我还在开始理解可可和iPhone开发
编辑我现在更有经验,但我还没有做过这样的自定义动画,也许有人可以给我一个电梯?
答案 0 :(得分:2)
您无法实现预设UIView动画的功能,因为动画是一次性的,无法截取。您可以使用OpenGL进行真正的3D转换(您需要的是围绕轴的旋转),或者为了更快的实现,尝试CALayer转换为绘制的建议。
Here是在OpenGL中实现的交互式3D页面翻转的示例。它使用私有API,但它可以帮助您了解如何响应用户输入并适当地应用转换。