{"id":18270529,"url":"https://github.com/bryanoltman/CAAnimation-EasingEquations","last_synced_at":"2025-04-05T01:30:40.825Z","repository":{"id":6011714,"uuid":"7235019","full_name":"bryanoltman/CAAnimation-EasingEquations","owner":"bryanoltman","description":"A category on CAAnimation that provides a number of easing equations to add some zazz to your app (with examples!)","archived":false,"fork":false,"pushed_at":"2015-05-11T21:35:31.000Z","size":263,"stargazers_count":229,"open_issues_count":0,"forks_count":17,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-02T04:11:29.101Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bryanoltman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-19T04:33:15.000Z","updated_at":"2024-10-12T12:19:10.000Z","dependencies_parsed_at":"2022-09-07T03:52:02.903Z","dependency_job_id":null,"html_url":"https://github.com/bryanoltman/CAAnimation-EasingEquations","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanoltman%2FCAAnimation-EasingEquations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanoltman%2FCAAnimation-EasingEquations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanoltman%2FCAAnimation-EasingEquations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bryanoltman%2FCAAnimation-EasingEquations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bryanoltman","download_url":"https://codeload.github.com/bryanoltman/CAAnimation-EasingEquations/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276022,"owners_count":20912285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T11:38:41.863Z","updated_at":"2025-04-05T01:30:40.472Z","avatar_url":"https://github.com/bryanoltman.png","language":"Objective-C","readme":"CAAnimation-EasingEquations\n===========================\n\nA category on `CAAnimation` that provides a number of easing equations to add some zazz to your app (with examples!)\n\n## Why?\nBecause adding easing to animations makes them more realistic. UIKit provides a very limited set of easing functions, so I added a few more.\n\n[Easings.net][0] provides some good examples and further explanation.\n\n## To use\nAdd `pod 'CAAnimation-EasingEquations'` to your podfile\n\n#### Or\n- Link your build target with `QuartzCore`\n\t- Select your project in Xcode's project navigator\n\t- Select your project's target\n\t- Navigate to \"Build Phases\"\n\t- In the \"Link Binary with Libraries\" section, click the '+' button\n\t- Select `QuartzCore` and click \"Add\"\n- Add `CAAnimation+EasingEquations.h/m` to your project\n- Enjoy!\n\n### Animating layer properties with key paths\nBecause this uses CoreAnimation, animations are applied to `CALayer` objects. For example, if we wanted a `UIView` to become completely transparent over the course of a second, the code to do that would look like this:\n\n```\n    [CAAnimation addAnimationToLayer:animatedView.layer\n                         withKeyPath:@\"opacity\"\n                            duration:1\n                                  to:0\n                      easingFunction:CAAnimationEasingFuctionEaseInBounce];\n```\n\nIn this example, the bounce ease-in function would be used.\n\n### Animating layer transforms\nSimilarly to above, if we wanted to apply a transform to `animatedView`, we could do it like so:\n\n```\n    CATransform3D tr;\n    tr = CATransform3DMakeScale(2.5, 2.5, 1.0);\n    tr = CATransform3DTranslate(tr, 95, 0, 0);\n    [CAAnimation addAnimationToLayer:animatedView.layer\n                            duration:1\n                           transform:tr\n                      easingFunction:CAAnimationEasingFuctionEaseOutBack];\n```\n\nThis would scale `animatedView` to 2.5x its current size and translate it 95px to the right over the course of 1 second.\n\n## Examples\n\nTwo sample projets have been included to illustrate the use of this category. \n\n### OKEasingFunctions\n\nThis illustrates the different easing functions. This was written before the addition of CATransform3D animation functions, so all animations are performed with key paths.\n\n### TransformAnimations\n\nThis illustrates the CATransform3D additions. There are two tables, each with a swipe gesture recognizer. Swipe, and they animate. It's magic!\n\n## License\n\n`CAAnimation+EasingEquations` is licensed under the MIT License. Please give me some kind of attribution if you use it in your project, such as a \"thanks\" note somewhere. I'd also love to know if you use my code, please drop me a line if you do! See the LICENSE file for full license text.\n\n[0]: http://easings.net/\n","funding_links":[],"categories":["etc"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbryanoltman%2FCAAnimation-EasingEquations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbryanoltman%2FCAAnimation-EasingEquations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbryanoltman%2FCAAnimation-EasingEquations/lists"}