У меня есть анимации кода в классе, который расширяет UIView:Как сделать флип-анимацию между более чем двумя UIViews?
// 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];
Эта анимация код отлично работает для двух точек зрения. Но я пытаюсь сделать это для многих просмотров. Я попытался добавить глобальную переменную (индекс nextview и индекс currentView), однако это не сработает, поскольку каждый пользовательский класс представления имеет свой собственный экземпляр, и эти переменные не используются совместно.
Кто-нибудь знает, как я могу выполнить то, что я хочу сделать?
Спасибо!
Редактировать: Я мог бы сделать это, если бы мог использовать [self superview] для доступа к индексу текущего вида и nextview. Есть ли методы для этого?
У меня есть массив представлений, которые я создаю в appdelegate, и я добавляю другой массив в каждый контроллер представления табуляции. Затем контроллер использует этот массив для создания uiviews с анимацией для переключения между ними. У меня возникают проблемы с переключением анимации ... – rksprst 2008-10-26 21:45:14