Имам три контролера за изглед, които са подредени като snapchat. Основният е вграден в UINavigationController и е в средата с контролер за изглед отляво и един отдясно. Преходът работи добре, ляво/дясна анимация. Но в snapchat, когато превключите на контролер до камерата или обратното, камерата ще остане видима (не е оцветена в черно) в персонализирания преход. С МОЯ, ако натисна втория контролер за изглед в стека, първият контролер за изглед изглежда черен, тъй като анимацията започва, когато искам да остане напълно видима. Предполагам, че трябва да променя нещо в персонализирания си режим.
@implementation toTheRight
- (void) perform{
UIViewController *sourceViewController = (UIViewController *)self.sourceViewController;
UIViewController *destinationViewController = (UIViewController *)self.destinationViewController;
CATransition *transition = [CATransition animation];
transition.duration = .5;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromRight;
[sourceViewController.navigationController.view.layer addAnimation:transition forKey:kCATransition];
[sourceViewController.navigationController pushViewController:destinationViewController animated:NO];
}