-[UIViewController dismissViewControllerAnimated:completion] don't work in a correct way in iOS 8

Originator:imoldman.com
Number:rdar://18421969 Date Originated:
Status:Open Resolved:
Product:iOS SDK Product Version:
Classification:UI Reproducible:Always
 
code & screenshot: https://github.com/imoldman/testDismiss

---

according to doc, "If you present several view controllers in succession, thus building a stack of presented view controllers, calling this method(means -[UIViewController dismissViewControllerAnimated:completion]) on a view controller lower in the stack dismisses its immediate child view controller and all view controllers above that child on the stack. When this happens, only the top-most view is dismissed in an animated fashion; any intermediate view controllers are simply removed from the stack."

it is right in iOS 7, but in iOS 8, the world has been changed.

Steps to Reproduce:
prepare:
1. start app, you should see a view with red color background
2. click 'button 1', a view with green color background is presented
3. click 'button 2', a view with blue color background is presented

action:
4. click 'button 3', in iOS 7, you only see a dismiss animation with blue color, this is right. however, in iOS 8, you can see a dismiss animation with green color, obviously, this is wrong.

Comments

Had the same issue, created sample app and GIFs file.

https://github.com/bsuvorov/ios_bug_demos#ios8-modal-dismiss-bug-apple-radar-20167513

Submitted Radar 20167513


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!