My setup is as follows: I have three view controller scenes in my Storyboard and the workflow of the app is going from A -> B -> C. From scene C back to A there is an unwind segue set up in Storyboard. The latter I trigger from the view controller of C programmatically via
[self performSegueWithIdentifier:@"unwindFromCtoA" sender:self];
For the transition from B -> C I'm using a custom ("drop down") animation with the UIViewControllerAnimatedTransitioning protocol. When unwinding from C -> A I want the inverse of that animation.
This all worked perfectly fine until I updated my iPhone 5 to iOS 8.0.2 (from iOS 7). Now, the (inverse) animation is not triggered anymore when unwinding form C -> A. Instead, it doesn't show any animation, it just shows immediately view A.
While trying to find the source of the problem I replaced performSegueWithIdentifier from above with
[self dismissViewControllerAnimated:YES completion:nil];
and then it does show the correct animation. But clearly I don't unwind to A in that case. This shows that there is nothing wrong with the animation. It merely seems that performSegueWithIdentifier doesn't trigger dismissViewControllerAnimated as it did in iOS 7.
Any idea what causes this different behaviour in iOS 8 as compared to iOS 7 and how to fix it? Thanks in advance!