0

スライドを繰り返し上下に動かす簡単なアニメーションがあります。コードは次のとおりです。

    CGRect frm_down = slider.frame;
    frm_down.origin.y += 50;

    [UIView animateWithDuration:0.7
                          delay:0.0
                        options:UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat
                     animations:^{
                         slider.frame = frm_down;
                     }
                     completion:NULL];

これは非常に簡単で、うまく機能します。ただし、ビューを表示しているとき (self presentViewController:animated:) アニメーションは発生しません。

実際、スライダーは即座に下の位置に移動します (あたかもアニメーションを 1 回だけ呼び出して下に移動しただけで、上に戻らなかったかのように)。

私もこれを試しました:

CGRect frm_down = [[[slider layer] presentationLayer] frame]

これにより、スライダーは一度下に移動するのではなく元の位置に保持され、アニメーションはまだ発生しません。

私が見逃しているものは何ですか?ありがとう!

4

2 に答える 2