Вот мой код, используемый для представления navigationViewController:CATransition работает неправильно по изменению ориентации, прежде чем увольнения NavigationViewController
-(IBAction)showFilterView:(id)sender {
FilterViewController *vc=[self.storyboard instantiateViewControllerWithIdentifier:@"FilterViewController"];
UINavigationController *nvc=[[UINavigationController alloc] initWithRootViewController:vc];
CATransition *transition = [CATransition animation];
transition.duration = 0.35;
transition.timingFunction =
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromLeft;
UIView *containerView = self.view.window;
[containerView.layer addAnimation:transition forKey:nil];
[self.tabBarController presentViewController:nvc animated:NO completion:nil];
}
А вот мой код, чтобы уволить
-(IBAction)back:(id)sender {
CATransition *transition = [CATransition animation];
transition.duration = 0.35;
transition.timingFunction =
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromRight;
UIView *containerView = self.view.window;
[containerView.layer addAnimation:transition forKey:nil];
[[self.navigationController presentingViewController] dismissViewControllerAnimated:NO completion:nil];
}
Ситуация 1 --- Working скважина в ландшафтном режиме
Ситуация 2 --- Рабочая скважина в портретном режиме
Ситуация 3 --- Представление в портретном режиме и отключение в ландшафтном режиме не работает должным образом (дополнительная анимация перед отображением правильного вида)
Ситуация 4 --- Представление в ландшафтном режиме и отключение в портретном режиме не работает должным образом (дополнительная анимация перед отображением правильного вида)
Поможет https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/RespondingtoDeviceOrientationChanges/RespondingtoDeviceOrientationChanges.html – aProgrammer
Я проверил ваш код на IPAD-проект, и он отлично работает с одной анимацией, за исключением того, что я испытал с представлением от себя не из tabBarController: '[self presentViewController: nvc animated: NO complete: nil]' – Idali
В UIView * containerView = self.view.window вы назначаете все окно (UIWindow *) в UIView *. Разве вы не должны анимировать слой вида, а не окно? –