Non-interactive UIViewController transitions shouldn't call -[UIApplication beginIgnoringInteractionEvents]

Originator:lap.felix
Number:rdar://41217893 Date Originated:June 18 2018, 2:29 PM
Status:Open Resolved:
Product:iOS + SDK Product Version:12.0 Beta 1
Classification:UIKit Reproducible:Always
 
Summary:
When presenting a view controller with -[UIViewController presentViewController:animated:completion:], the transitioningDelegate NEEDS to be interactive in order to prevent the call to -[UIApplication beginIgnoringInteractionEvents] done by -[UIPresentationController runTransitionForCurrentState].

Steps to Reproduce:
Open and run the attached sample project

The “Normal custom present“ button uses a non interactive animation controller.
The “Interactive custom present“ button uses an interactive animation controller.

Tap the “Normal custom present“ button and then tap the “BACK” button.

Expected Results:
Tapping the “BACK” button should always work.

Actual Results:
It only works when the very bouncy and way too long animation is over.

Otherwise it always works when using the “Interactive custom present“ button because the transitioningDelegate returns an interactionController that does nothing more than starting the animation and if the transition is interactive then -[UIApplication beginIgnoringInteractionEvents] isn’t called.

Version:
12.0 Beta 1

Notes:
It feels pretty heavy-handed to call -[UIApplication beginIgnoringInteractionEvents].

Configuration:

Comments

Sample project: https://dsc.cloud/felix/ViewControllerTransitions.zip


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!