iOS: анимация неправильной ориентации в rootViewController?

Контекст: я пытаюсь выполнить пользовательскую анимацию из обычного UIViewController.viewв UISplitViewController.view. Анимация должна показывать слева направо.

Я установил self.window.rootViewController = viewController, где viewController— обычный UIViewController.

Когда пользователь проводит пальцем по экрану, вызывается следующее:

UIView *theWindow = [viewController.view superview];

[viewController.view removeFromSuperview];
[theWindow addSubview:self.splitViewController.view];


CATransition *animation = [CATransition animation];
[animation setDuration:0.5];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromLeft];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

[[theWindow layer] addAnimation:animation forKey:@"SwitchToView1"];

Когда устройство находится в портретном режиме, все прошло отлично. Однако, когда устройство находится в ландшафтном режиме, анимация перехода выполняется так, как будто устройство все еще находится в портретном режиме. Например: вместо того, чтобы заходить слева, он заходит снизу. Ориентация обоих взглядов полностью верна. Только переход странный.

7
задан Byte 23 March 2012 в 16:32
поделиться