Я бы использовал один XIB и один класс.Классу нужна какая-то модель данных для хранения списка доступных изображений, ранее выбранных изображений и текущих видимых.
Когда пользователь щелкает изображение, обновляет данные и показывает новые с чем-то вроде этогодля постепенного исчезновения старого изображения и постепенного появления нового.
/* ARC code */
-(void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context {
/* destroy the transition view, set the image first */
UIImageView *transitionImageView = (UIImageView *)context;
self.pic.image = transitionImageView.image;
[transitionImageView removeFromSuperview];
transitionImageView = nil;
}
- (void)clickHandler:(id)sender {
/* temporary view for the animation */
UIImageView *transitionImageView = [[UIImageView alloc] initWithFrame:self.pic.frame];
transitionImageView.image = <# new UIImage #>;
transitionImageView.alpha = 0.0f;
[self.view addSubview:transitionImageView];
[UIView beginAnimations:@"UpdateImages" context:transitionImageView];
[UIView setAnimationDuration:2.0f];
transitionImageView.alpha = 1.0f;
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[UIView commitAnimations];
}
Адаптируйте его для своих четырех изображений.
Если вы хотите больше необычных анимаций, у вас может быть два набора по 4 UIImageViews
и используйте их для отображения и анимации переходов изображения.