Привет большое спасибо за ваш ответ. Вещи, связанные с вращением, решены, но все же у меня мало проблем в ландшафтном режиме. Я использую этот код для анимации двух UIViews, но в ландшафтном режиме одно представление не появляется, я хочу идеальное решение для этого.
Код вращения, который я сейчас использую ...
- (void)viewDidLoad
{
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:) name:UIDeviceOrientationDidChangeNotification object:nil];
}
- (void)didRotate:(NSNotification *)notification {
UIDeviceOrientation orientation = [[notification object] orientation];
if (orientation == UIDeviceOrientationLandscapeLeft)
{
CGRect contentRect = CGRectMake(0,0, 1024, 748);
self.view.bounds = contentRect;
[self.view setTransform:CGAffineTransformMakeRotation(M_PI / 2.0)];
}
else if (orientation == UIDeviceOrientationLandscapeRight)
{
CGRect contentRect = CGRectMake(0,0, 1024, 748);
self.view.bounds = contentRect;
[self.view setTransform:CGAffineTransformMakeRotation(M_PI / -2.0)];
}
else if (orientation == UIDeviceOrientationPortraitUpsideDown)
{
CGRect contentRect = CGRectMake(0,0, 768, 1024);
self.view.bounds = contentRect;
[self.view setTransform:CGAffineTransformMakeRotation(M_PI)];
}
else if (orientation == UIDeviceOrientationPortrait) {
CGRect contentRect = CGRectMake(0,0, 768, 1024);
self.view.bounds = contentRect;
[self.view setTransform:CGAffineTransformMakeRotation(0.0)];
}
}
Код аминирования UIView.
self.loginView.hidden=NO;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
self.AcTypeView.transform=CGAffineTransformMakeTranslation(0, 493);
[UIView commitAnimations];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2.0];
self.loginView.transform=CGAffineTransformMakeTranslation(0, -700);
[UIView commitAnimations];
Thanks!!!!