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

アニメーションは1回限りであり、傍受できないため、プリセットUIViewアニメーションで実行しようとしていることを達成することはできません。OpenGLを使用して真の3D変換(必要なのは軸を中心とした回転)を行うか、より高速な実装のために、描画された提案に従ってCALayer変換を試してください。

これは、OpenGLに実装されたインタラクティブな3Dページフリップの例ですプライベートAPIを使用しますが、ユーザー入力に応答して変換を適切に適用する方法を理解するのに役立つ場合があります。

于 2010-06-11T02:49:07.390 に答える