"Seamless" implicit additive view animation
| Originator: | SoCalledNonFlipped | ||
| Number: | rdar://13385919 | Date Originated: | 09-Mar-2013 03:21 PM |
| Status: | Open | Resolved: | |
| Product: | Mac OS X | Product Version: | 10.8 |
| Classification: | Enhancement | Reproducible: |
09-Mar-2013 03:21 PM Kevin Doughty: Summary: I have a specific explicit additive layer animation usage pattern that produces beautiful curves and responds better to user interaction. Unfortunately implicit view animation in this way is not possible without ugly hacks. Steps to Reproduce: The code is available here: https://github.com/KevinDoughty/SeamlessAnimation Launch the modified CocoaSlides project and resize the window. Expected Results: The feature request is for the following issues to be addressed: There is no combination of CABasicAnimation interpolation values fromValue, toValue, and byValue that will give you an animation using values from the model layer tree instead of the presentation layer tree. Keys must be nil or unique so many animations can run concurrently on the same CALayer property. Implicit animation only adds animations with a key that is the same as the property being animated. The actionForKey: pattern doesn't allow one to easily know what the previous value is. In my implementation I added CALayer -previousLayer, which is similar in concept to -presentationLayer. In addition, the following would make things more convenient: I have found that sometimes I need to access these keys, but the current API only provides functions like CALayer -animationForKey: and -animationKeys. I am forced to use unique keys and manually track of the animations elsewhere. Perhaps -nilKeyAnimationsForKeyPath: would be useful. Typically I need to access these animations when copying them from one layer to another (fundamental for visual consistency) and for determining the union rect of layers that are scrolling. It would be convenient to have kCAMediaTimingFunctionPerfect that returned a timing function with the control points .5, 0, .5, 1. This timing function is required, otherwise transitioning from when one animation ends to another is visible. Actual Results: Ugly, presentation layer tree animation. Regression: Notes: 09-Mar-2013 03:21 PM Kevin Doughty: 'SeamlessAnimation.zip' was successfully uploaded
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!