アニメーションセットの終わりにMonoTouchで中CAKeyFrameAnimationコールバックを実装しますか?
-
19-09-2019 - |
質問
私のコードは動作し、私はアニメーションが、私はこれを行う方法がわからないんだけどます:
CALayerのためのアニメーションの終了コールバックですか
... MonoTouchでインチ
ここで私が持っているものです。
public partial class MyCustomView: UIView
{
// Code Code Code
private void RunAnimation()
{
CAKeyFrameAnimation pathAnimation = new CAKeyFrameAnimation();
pathAnimation.KeyPath = "position";
pathAnimation.Path = trail; //A collection of PointFs
pathAnimation.Duration = playbackSpeed;
Character.Layer.AddAnimation(pathAnimation,"MoveCharacter");
}
//Code Code Code
}
MyCustomViewはすでにのUIViewから継承していると私は2つのクラスから継承することはできません。私はと呼ばれる関数を呼び出す方法「AnimationsComplete()」これはアニメーション行われたときに?
解決
実装し、私は私のdevのマシンの前にないんだけど、私はあなたがCAAnimationDelegateから下降するクラスを作成すると思いますpathAnimationに、このクラスのインスタンスを割り当て、その後「空隙AnimationStopped方法を(CAAnimationのアニメーションを、ブール値が終了)」と。 (あなたのサンプル中の)委任ます。
だから、このような何か(の警告 - 未テストコードの):
public partial class MyCustomView: UIView
{
private void RunAnimation()
{
CAKeyFrameAnimation pathAnimation = new CAKeyFrameAnimation();
// More code.
pathAnimation.Delegate = new MyCustomViewDelegate();
}
}
public class MyCustomViewDelegate : CAAnimationDelegate
{
public void AnimationStopped(CAAnimation anim, bool finished)
{
// More code.
}
}
所属していません StackOverflow