Абсолютно это возможно. Вот пользовательская анимация, которую я сделал, чтобы переместить несколько видов в разные места:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration {
[UIView beginAnimations:nil context:NULL]; {
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate:self];
if (toInterfaceOrientation == UIInterfaceOrientationPortrait ||
toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
[myImage setCenter:CGPointMake(384.0,170.0)];
[firstLabel setCenter:CGPointMake(235.0,358.0)];
[secondLabel setCenter:CGPointMake(519.0,358.0)];
[button0 setCenter:CGPointMake(164.0,508.0)];
[button1 setCenter:CGPointMake(384.0,508.0)];
[button2 setCenter:CGPointMake(604.0,508.0)];
[button3 setCenter:CGPointMake(274.0,666.0)];
[button4 setCenter:CGPointMake(494.0,666.0)];
[button5 setCenter:CGPointMake(164.0,824.0)];
[button6 setCenter:CGPointMake(384.0,824.0)];
[button7 setCenter:CGPointMake(604.0,824.0)];
[button8 setCenter:CGPointMake(164.0,954.0)];
[button9 setCenter:CGPointMake(604.0,954.0)];
} else {
[myImage setCenter:CGPointMake(350.0,173.0)];
[firstLabel setCenter:CGPointMake(844.0,66.0)];
[secondLabel setCenter:CGPointMake(844.0,114.0)];
[button0 setCenter:CGPointMake(140.0,450.0)];
[button1 setCenter:CGPointMake(388.0,450.0)];
[button2 setCenter:CGPointMake(636.0,450.0)];
[button3 setCenter:CGPointMake(884.0,450.0)];
[button4 setCenter:CGPointMake(140.0,638.0)];
[button5 setCenter:CGPointMake(388.0,638.0)];
[button6 setCenter:CGPointMake(636.0,638.0)];
[button7 setCenter:CGPointMake(884.0,638.0)];
[button8 setCenter:CGPointMake(844.0,190.0)];
[button9 setCenter:CGPointMake(844.0,280.0)];
}
} [UIView commitAnimations];
}
Это прекрасно работает, когда каждое изображение летит по экрану, чтобы попасть в новое место. Вы можете использовать что-то подобное для создания всевозможных эффектов.