ユーザーの場所を追跡する必要があるカスタムビューがあります。私はtouchesBegan
に次のコードを置くだけでなく、touchesMoved
中:UIView、animateWithDuration、beginFromCurrentStateのトラブル
[UIView animateWithDuration:0.2 delay:0.0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
cursorView.center = locationOfTouch;
} completion:^(BOOL finished){}];
それは私にはかなり簡単なようです。ビューがアニメーション化されていても(beginFromCurrentStateオプションのため)、そのビューが常に変更されていても、ビューは常にユーザーの現在の位置にアニメーションされると考えています。
しかし、それぞれのアニメーションは完全に終了します。彼らは新しいアニメーションに「移行」しません。最初は終了しませんし、新しいアニメーションを開始します。
私はtouchesMoved
にこの行を追加してみました:
[cursorView.layer removeAllAnimations];
は何もしません。アニメーションはキャンセルされません。何か案は?
代わりCATransactionを使用する場合があります、段階的に廃止される
は、あなたがアニメーションでこれをやりたい理由がありますと呼ばれる? –
はい。私は、ビューがタッチの場所に「ジャンプ」しないようにします。私はそれがスムーズにそれにそれをアニメーション化したい。 – Rits