UIPercentDrivenInteractiveTransition causes incorrect animation for complex animations
| Originator: | robert.ryan | ||
| Number: | rdar://16607330 | Date Originated: | 14 -Apr-2014 |
| Status: | Open | Resolved: | |
| Product: | iOS | Product Version: | 7.0 |
| Classification: | Bug | Reproducible: | Yes |
Summary: I'm using an interactive custom push transition with a UIPercentDrivenInteractiveTransition. The gesture recognizer successfully calls the interaction controller's updateInteractiveTransition. Likewise, the animation successfully completes when I call the interaction controller's finishInteractiveTransition. But, sometimes I get a extra bit of distracting animation at the end (where it seems to repeat the latter part of the animation). With reasonably simple animations, I rarely see this symptom on the iPhone 5 (though I routinely see it on the simulator when working on slow laptop). When I first saw this problem, I dismissed it as merely a simulator bug. But if I make the animation more computationally expensive (e.g. lots of shadows, multiple views animating different directions, etc.), the frequency of the manifestation of this problem on the device increases (happens 10-25% of the time on iPhone 5; I suspect it will occur with greater frequency on even slower devices, such as iPhone 4). Steps to Reproduce: On simulator, this routinely generates extraneous bit of animation when animation controller calls `completeTransition`. See test project attached. Run it on a slower device and you'll see the animation problem. My test project simply pushes to another instance of the same scene, so you can continually push again and again until you see the problem. Expected Results: There should be no extraneous animation. Actual Results: Version: iPhone 5; iOS 7.1 (11D167); Xcode 5.1.1 (5B1008) Notes: To workaround this bug, I can defer the call to `completeTransition` (e.g. by 0.1 seconds), and it works fine. I can obviously write my own interaction controller which doesn't try to interpolate the animation controller's animation, and that works, too. Configuration: iPhone 5; iOS 7.1 (11D167); Xcode 5.1.1 (5B1008)
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!