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
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!
Sample project: https://dsc.cloud/felix/ViewControllerTransitions.zip