Если вы не хотите мучить себя с помощью IF ELSE, вы можете использовать массив представлений и выполнять их итерацию.
NSArray *myViews = [NSArray arrayWithObjects:view1, view2, view3, nil];
NSInteger nextIndex = [myViews indexOfObject:[[window subviews] objectAtIndex:0]] + 1;
nextIndex = (nextIndex % [myViews count]); // to loop around if reached the end
[window addSubview:[myViews objectAtIndex:nextIndex]];
Вы можете сделать что-то умное с массивом представлений, чтобы не делатьвоссоздай его каждый раз, когда ты меняешься.