ここで私が達成しようとしていることがあります。難しい2つのUIViewアニメーションを連結する
UILabelは100%アルファで表示され、UIViewアニメーションを使用して80ptまで移動します。そのアニメーションが終了するとすぐに、私はそれを80pts引き上げてアルファ0にフェードアウトさせたいと思います。私はこれらの2つのアニメーションを1つのシームレスなアニメーションとして表示します。
私はUIViewアニメーションでこれを行うことができ、次のように2番目のUIViewアニメーションをコンプリートブロックに配置すると考えました。ただし、完了ブロックが実行されるまでに遅延が発生し、2つのアニメーションがシームレスに見えなくなります。
誰でも私がやろうとしていることを行う最善の方法を教えてもらえますか?
ありがとうございます!
[UIView animateWithDuration:1.2 delay:0 options:UIViewAnimationCurveLinear animations:^{
myLabel.center = endPoint;
}
completion:^(BOOL finished) {
[UIView animateWithDuration:1.2 delay:0 options:UIViewAnimationCurveLinear animations:^{
myLabel.center = endPoint2;
myLabel.alpha = 0;
}
completion:^(BOOL finished) {
NSLog(@"animations complete");
}];
}];
それはうまくいきません...うまく動作しますが、私が探しているシームレスな効果ではありません。それは80ピクセル上に移動し、少しの間停止し、最後の80ピクセルまで続けてフェードアウトします。私はそれがシームレスであり、2つのアニメーションのように見えないようにしようとしています。 – sayguh
コードに小さな編集を1つ作成しました。最初のアニメーションからmyLabel.alpha = 1を削除しました。アニメーションが始まる前に既に1に設定されています – sayguh