期間、遅延、オプション、アニメーション、および完了を備えた UIAnimation があります。
アニメーションでは、フレームを設定してビューを移動しています。
CGPoint newPoint;
newPoint = CGPointMake(x + offset, button.center.y);
そして、完了ブロックで、ビューをどこかに保存した元の位置に戻します。
completion:^(BOOL finished)
{
view.center = oldPosition;
}
私の問題は、スワイプ ジェスチャでボタンを動かしているときに、アニメーションが途中で失敗したように見えることです。[view.layer removeAllAnimations] を呼び出さない場合、ビューのアニメーションを正確にキャンセルするのは何だろうと思っています。アニメーション (おそらく別のアニメーション) をキャンセルする舞台裏で何かが起こっていますか?
編集: UIAnimation ブロックが舞台裏でこの動作を引き起こす可能性がある何かがあるかどうか、私は本当に疑問に思っています。