Nested inset custom modals break on dismiss

Originator:random4444
Number:rdar://17004587 Date Originated:22-May-2014 01:23 PM
Status:Open Resolved:
Product:iOS SDK Product Version:7.1
Classification:Serious Bug Reproducible:Always
 
This is a duplicate of rdar://16998102

It appears it is impossible to replicate nested versions of the "page sheet" native modal style using custom transitioning; upon dismissal of the nested view controller, the first modal is set by the system to frame origin (0, 0) and there is no recourse to fix this until -animateTransition: is reached at least one runloop tick later, after the screen has already been updated.

Steps to Reproduce:
1. Present a view controller modally using a custom animation, such that the result is similar to a sheet.
2. Present a second view controller modally from that first modal view controller.
3. Dismiss the second view controller. 
4. Note the first modal view is now in the wrong place.

Expected Results: The SDK does not reset the origin of a view of a presenting view controller that is itself modal while dismissing a presented modal view controller. Actual Results: The SDK resets the origin of a view of a presenting view controller that is itself modal while dismissing a presented modal view controller. Notes: DTS indicates that they don't have a workaround other than to fix the position of the view controller's view in -animateTransition:, which is indicated above as not being a workable fix.

Actual Results: The SDK resets the origin of a view of a presenting view controller that is itself modal while dismissing a presented modal view controller.

Comments


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!