popViewControllerAnimated: custom transition animation?
animation, transition, uinavigationcontroller, xcode
Solution
For this type of transition I would really recommend a modal view controller, thats the way the system was designed.
But if you insist on using the navigation controller there is a way, though somewhat ugly.
[CATransaction begin];
[CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
CATransition *transition = [CATransition animation];
[transition setType:kCATransitionFade];
[self.navigationController.view.layer addAnimation:transition forKey:@"someAnimation"];
[self.navigationController popViewControllerAnimated:YES];
[CATransaction commit];
The `CATransaction` will disable all standard animations. The `CATransition` adds a fade transition to the navigation controller layer when views are swapped (in this case removing the viewcontroller view that is popped).
Problem
Yes, I have looked for an answer already. None of the solutions work, except one that doesn't give the option for a fade transition, only flip or curl. Like this: ``` methodname configure animation [self.navigationController popViewControllerAnimated:NO]; ``` No matter what variety of transition animation config I try, nothing is visibly different from only using the typical single-line pop. If I change it to `…Animated:YES];`, I get the standard pop animation, maybe with something weird happening from the broken config. So my question is this: How can I do a `pop` with, if not `CrossDissolve`, then at least something that looks the same? Is that even possible with a navigation controller? Using modal views would have the default animation I want, and I could manage the view stack easily enough, but I don't want to do that.