スライドを繰り返し上下に動かす簡単なアニメーションがあります。コードは次のとおりです。
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]
これにより、スライダーは一度下に移動するのではなく元の位置に保持され、アニメーションはまだ発生しません。
私が見逃しているものは何ですか?ありがとう!