0

我有一张卡片(你可以说是一张抽认卡)

我可以做什么:

在用手指扫过抽认卡时,卡片会被翻转。它是通过检测 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开发的初期

编辑我现在更有经验了,但我还没有做过这样的自定义动画,也许有人可以帮我提一下?

4

1 回答 1

2

您无法使用预设的 UIView 动画来实现您想要做的事情,因为动画是一次性的并且无法被拦截。您可以使用 OpenGL 进行真正的 3D 转换(您需要的是绕轴旋转),或者为了更快的实现,请尝试按照建议绘制的 CALayer 转换。

是一个在 OpenGL 中实现的交互式 3D 页面翻转的示例。它使用私有 API,但它可能会帮助您了解如何响应用户输入并适当地应用转换。

于 2010-06-11T02:49:07.390 回答