2017-02-01 2 views
0

私のアニメーションは、いくつかの異なる類似のビュー(配列で管理)で実行できますが、補完ハンドラはパラメータをとらない。完成したアニメーションはどのようにして完成するのですか?NSAnimationContext補完パラメータ?

以下は、1つの(複数の)セクションビューのフレームをアニメートするために使用されます。アニメーションが終了したら、私は特定のセクションビューに通知を送ることができる必要があります。

NSLog(@"Animation started"); 

[NSAnimationContext beginGrouping]; 
[[NSAnimationContext currentContext] setDuration:kAnimationDuration]; 
[[NSAnimationContext currentContext] setCompletionHandler:^{ 
    [self doStuff]; 

    NSLog(@"Animation complete - now we need to notify the correct sectionView"); 
}]; 

[[sectionView animator] setFrame:[self frameForSectionView:sectionView]]; 

[NSAnimationContext endGrouping]; 

答えて

1

補完ハンドラブロックのsectionViewを参照してください。あるいは、インスタンス変数、static、またはglobalの場合は、現在の値で初期化されたブロックの外にローカル変数を作成し、ブロック内のそのローカル変数を参照します。

ブロックは値を取得します。