[TIMOB-18421] iOS: Add animation properties "springVelocity" and "dampingRatio"
| GitHub Issue | n/a |
|---|---|
| Type | New Feature |
| Priority | Low |
| Status | Closed |
| Resolution | Fixed |
| Resolution Date | 2019-04-25T11:03:39.000+0000 |
| Affected Version/s | n/a |
| Fix Version/s | Release 8.1.0 |
| Components | iOS |
| Labels | animation, bouncing, ios, view |
| Reporter | Rick Blalock |
| Assignee | Vijay Singh |
| Created | 2015-01-21T14:09:05.000+0000 |
| Updated | 2019-04-25T11:03:39.000+0000 |
Description
*Summary:*
App developers would like to apply a spring/bounce animation when a view reaches its end-point. This is desired for both translation, rotation, and scale animations.
*Proposed Properties:*
* "dampingRatio": Normalized value where
1.0 will reach its end-point without overshooting and no bounce/spring effect. A value less than 1.0 will overshoot its end-point and apply a spring animation, where the lower the value, the more the view will bounce back and forth until it slows down and reaches its end-point. A value of 0.0 will bounce back and forth forever without any damping effect.
* "springVelocity": Scale factor where 1.0 represents the total spring animation distance traversed in 1 second. The lower the value, the slower the spring effect. The higher the value, the faster the spring animation. For example, 2.0 will reach the end-point twice as fast and 0.5 will reach the end-point at half-speed.
*Notes:*
In iOS (Swift is the example code I'm using below), there are a few spring based properties that can be added to a UIView animation, for example to get this bounce effect, it's just two properties - https://www.dropbox.com/s/n9dx2yw54kr895a/2015-01-21_08-55-58.mp4?dl=0 :
UIView.animateWithDuration(0.5,
delay: 0,
usingSpringWithDamping: 0.7,
initialSpringVelocity: 0.7,
options: nil,
animations: {
// Animated views here
}, completion: nil)
PR from community - https://github.com/appcelerator/titanium_mobile/pull/10564
FR Passed, waiting for Jenkins to be ready for merge.
PR Merged.
Closing ticket, fix verified in SDK Version
8.1.0.v20190423134840Test and other information can be found at: https://github.com/appcelerator/titanium_mobile/pull/10564