UIViewを拡張するクラスにアニメーションコードがあります。
// Start Animation Block
CGContextRef context = UIGraphicsGetCurrentContext();
[UIView beginAnimations:nil context:context];
[UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:[self superview] cache:YES];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:1.0];
//int nextView = currentView + 1;
// Animations
[[self superview] exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
//And so I would do: [[self superview exchangeSubviewAtIndex:currentView withSubviewAtIndex:nextView];
//Doesn't work because curentView is not global... with each instance of a class it's reset to what it's instanciated to.
//currentView++;
// Commit Animation Block
[UIView commitAnimations];
このアニメーションコードは、2つのビューで正常に機能します。しかし、私は多くのビューに対してこれを実行しようとしています。グローバル変数(nextviewインデックスとcurrentViewインデックス)を追加してみましたが、各カスタムビュークラスには独自のインスタンスがあり、これらの変数は共有されていないため、これは機能しません。
私がやりたいことをどのように達成できるか誰かが知っていますか?
ありがとう!
編集:[自己スーパービュー]を使用して現在のビューと次のビューのインデックスにアクセスできれば、これを行うことができます。これを行う方法はありますか?