UIView アニメーションを利用して、ビューを画面上でスライドさせようとしています。ビューコントローラーにUIScrollViewがあり、そこにUIViewがあります。
私もこの方法を持っています:
-(void)translateView:(UIView *)view toRect:(CGRect)rect withDuration:(CGFloat)duration
{
[UIView animateWithDuration:duration
animations:^
{
view.frame = rect;
}
completion:^(BOOL finished)
{
//Finished
}];
}
これを呼び出して、UIView をアニメーション化された方法で、特定の時間にわたって選択した CGRect に移動します。7 つのビューを作成してスライドさせるループがあります。これはうまく機能します。私はそれを以下のように呼び出します。もちろんループは異なるビューでこれを7回呼び出します:
[self translateView:cell toRect:translationRect withDuration:0.7];
ただし、すぐにこれを再度呼び出すことはできません。何も起こりません。ただし、2 秒の NSTimer の後にこれを再度呼び出すと、アニメーションは実行されますが、UIScrollView をスクロールすると、アニメーション化したばかりのビューが以前の CGRect にジャンプして戻ります。