{"id":13463480,"url":"https://github.com/WilliamZang/FastAnimationWithPOP","last_synced_at":"2025-03-25T06:32:25.187Z","repository":{"id":17673179,"uuid":"20477938","full_name":"WilliamZang/FastAnimationWithPOP","owner":"WilliamZang","description":"A very simplifty animation framework. Powerby Facebook POP(https://github.com/facebook/pop). Use 'fast animation' you can add animations without any lines of code.  You can see the DEMO in project DEMO(https://github.com/WilliamZang/FastAnimationWithPopDemo).","archived":false,"fork":false,"pushed_at":"2016-03-10T03:48:08.000Z","size":314,"stargazers_count":449,"open_issues_count":3,"forks_count":51,"subscribers_count":22,"default_branch":"master","last_synced_at":"2024-09-17T11:42:08.739Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/WilliamZang.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":"2014-06-04T09:44:24.000Z","updated_at":"2024-01-20T16:41:49.000Z","dependencies_parsed_at":"2022-08-04T20:30:30.664Z","dependency_job_id":null,"html_url":"https://github.com/WilliamZang/FastAnimationWithPOP","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilliamZang%2FFastAnimationWithPOP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilliamZang%2FFastAnimationWithPOP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilliamZang%2FFastAnimationWithPOP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WilliamZang%2FFastAnimationWithPOP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WilliamZang","download_url":"https://codeload.github.com/WilliamZang/FastAnimationWithPOP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222045615,"owners_count":16921984,"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-07-31T13:00:54.179Z","updated_at":"2024-10-29T12:31:30.307Z","avatar_url":"https://github.com/WilliamZang.png","language":"Objective-C","readme":"FastAnimation\n=============\n[![Build Status](https://travis-ci.org/WilliamZang/FastAnimationWithPOP.svg?branch=master)](https://travis-ci.org/WilliamZang/FastAnimationWithPOP)\n\nA very simplifty animation framework. Powerby [Facebook POP](https://github.com/facebook/pop). Use **fast animation** you can add animations without any lines of code.\n\nYou can see the DEMO in project [DEMO](https://github.com/WilliamZang/FastAnimationWithPopDemo).\n\n**If you like this, please star me!**\n\n![Demo](https://raw.githubusercontent.com/WilliamZang/FastAnimationWithPOP/master/Docs/demo.gif)\n## Features\n* Use property to add an animation to any view.\n* Auto run when awake from NIB.\n* You can also stop autorun and manual run animations.\n* Control the animation's detail, like delay, duration time, etc.\n* Use property to binding animations to a control.\n* Easy way to extension animations only create a class comform protocol `FastAnimationProtocol`,`ControlFastAnimationProtocol`, and `FastAnimationReverseProtocol`.\n\n## Requirements\n\nMinimum iOS Target: iOS 6.0+\n\nXcode version: 5.0+\n\n## Install\nThe easiest way to install FastAnimation is using [CocoaPods](http://cocoadocs.org):\n\n1. Add the pod to podfile `pod 'FastAnimationWithPOP'`\n\n2. Refresh your project pods `pod install`\n\nIf you want to see the new features, you can add pod `pod 'FastAnimationWithPOP', :head` to fetch the newest version.\n\n## Usage\n\n### 1. Use it with a storyboard\n\nYou can add an animation to a view by setup the user defined runtime attributes.\n\n![Storyboard1](https://raw.githubusercontent.com/WilliamZang/FastAnimationWithPOP/master/Docs/stroyBoard1.png)\n\n![Storyboard2](https://raw.githubusercontent.com/WilliamZang/FastAnimationWithPOP/master/Docs/stroyBoard2.png)\n\nHere's some property's meaning:\n\n#### In UIView\n\n* animationType\n \n\tWhat animation would you like? You can give the answer with this property.\n\tYou can use full class name, or without `FAAnimation` prefix.\n\t\n* delay\n\n\tWhen you don't want to start animation immediately, you can set a value for `delay` time with seconds.\n\t\n* animationParams\n\n\tThis has a lot of functions. Each animation need own params. It's all in the property `animationParams`\n\t\n\tYou can find the infomation in each animation header. Like this\n\n```objective-c\n#define kSpringBounciness   (@\"animationParams.springBounciness\")\n#define kSpringSpeed        (@\"animationParams.springSpeed\")\n#define kDynamicsTension    (@\"animationParams.dynamicsTension\")\n#define kDynamicsFriction   (@\"animationParams.dynamicsFriction\")\n#define kDynamicsMass       (@\"animationParams.dynamicsMass\")\n```\n\t\n* startAnimationWhenAwakeFromNib\n\n\tDon't want to auto run? No problem. You can set `NO` to property `startAnimationWhenAwakeFromNib`\n\n#### In UIControl\n\n* bindingAnimationType\n\n\tYou can binding control's event with some animations. \n\n\n### 2. Use it by coding\n\nTo use it by coding is as simple as using the storyboard.\n\nYou can just set the animation type property and perform ```- (void)startFAAnimation```. Like this\n\n```objective-c\nUIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];\nview.backgroundColor = [UIColor redColor];\nview.animationType = @\"Shake\";\nview.animationParams[@\"velocity\"] = @-7000;\n// You can also set params like this\n// [view setValue:@-7000 forKeyPath:kShakeVelocity];\n[view startFAAnimation];\n```\n\nYou can also use other methods like:\n\n```objective-c\n// In UIView instance.\n- (void)startFAAnimation;\n- (void)reverseFAAnimation;\n// In UIControl instance.\n- (void)bindingFAAnimation;\n- (void)unbindingFAAnimation;\n```\n### 3. Extension a new animiation\n\nTo extension a new animation, you just need create a new class conform protocol `FastAnimationProtocol`,`ControlFastAnimationProtocol`, and `FastAnimationReverseProtocol`.\n\nLike this:\n\n```objective-c\n// new_animation.h\n@interface FAAnimationNewAnimation : NSObject\u003cFastAnimationProtocol, \nFastAnimationReverseProtocol\u003e // Maybe only FastAnimationProtocol\n\n@end\n// new_animation.m\n@implementation FAAnimationBounceRight\n\n+ (void)performAnimation:(UIView *)view\n{\n    // some thing you like.\n}\n\n+ (void)stopAnimation:(UIView *)view\n{\n    // some thing you like.\n}\n\n+ (void)reverseAnimation:(UIView *)view\n{\n     // some thing you like.\n}\n\n+ (void)stopReverse:(UIView *)view\n{\n     // some thing you like.\n}\n@end\n\n```\n\n### 4. More animation control\n\n* stop animations:\n\nIf you want to stop animation, you can use following methods in UIView instance.\n\n```objective-c\n- (void)stopFAAnimation;\n- (void)stopReverseFAAnimation;\n```\n\n* nested animatinons:\n\nYou can use following methods in UIView instance to make a nested animation. All the subviews may move on.\n\n```objective-c\n- (void)startFAAnimationNested;\n- (void)stopFAAnimationNested;\n- (void)reverseFAAnimationNested;\n- (void)stopReverseFAAnimationNested;\n```\n\n### Now included animations:\n\n* Bounce animations: `BounceLeft`,`BounceRight`,`BounceUp`,`BounceDown`\n* Zoom in animations: `ZoomInX`,`ZoomInY`\n* Shake animation\n* Group animation\n* Zoom out animation\n* Button scale animation\n* **More animations are waiting for your contribution...**\n\n## TODO\n\n* Make the DEMO more beautiful.\n* Transition animiatons.\n* Make sure all the features have unit tests.\n* More fun and powerful animations.\n* iOS 5 support.\n* Swift support.\n\n# Contributing\nFirst off, thank you for considering contributing to FastAnimation. It's people like you that make FastAnimation such a great library.\n\n```Not only add features or fix bugs, you can also fix my language mistakes(Sorry about my English!) or add more unit test or more guides or what ever.```\n\n### 1. Where do I go from here?\n\nIf you've noticed a bug or have a question you can [make one issue](https://github.com/WilliamZang/FastAnimationWithPOP/issues/new)!\n\n### 2. Fork \u0026 create a branch\n\nIf this is something you think you can fix, then\n[fork FastAnimationWithPOP](https://help.github.com/articles/fork-a-repo)\nand create a branch with a descriptive name.\n\nIf you want to give some beautiful DEMO, then fork [FastAnimationWithPopDemo](https://github.com/WilliamZang/FastAnimationWithPopDemo).\n\nA good branch name would be (where issue #325 is the ticket you're working on):\n\n```sh\ngit checkout -b 325-add-new-anmiation\n```\n\n### 3. Implement your fix or feature\n\nAt this point, you should be ready to make your changes! Don't hesitate to ask for help;\neveryone is a beginner at first :smile_cat:\n\n### 4. Sync implement the DEMO\n\nIf you add a new animation. You'd better to add effect to [FastAnimationWithPopDemo](https://github.com/WilliamZang/FastAnimationWithPopDemo) project.\n\n### 5. Unit test\n\nIf it's a new feature. You'd better make it's unit test. You can make unit test in target `FastAnimationWithPopTests`.\n\n### 6. Run tests against\n\nOnce you've implemented your code, please use Command+U to test it again.\n\nWe care about quality, so your PR won't be merged until all tests pass.\n\n### 7. Make a Pull Request\n\nAt this point, you should switch back to your master branch and make sure it's\nup to date with FastAnimation's master branch:\n\n```sh\ngit remote add upstream git@github.com:WilliamZang/FastAnimationWithPOP.git\ngit checkout master\ngit pull upstream master\n```\n\nThen update your feature branch from your local copy of master, and push it!\n\n```sh\ngit checkout 325-add-new-anmiation\ngit rebase master\ngit push --set-upstream origin 325-add-new-anmiation\n```\n\nFinally, go to GitHub and [make a Pull Request](https://help.github.com/articles/creating-a-pull-request) :D\n\n### 8. Keeping your Pull Request updated\n\nIf a maintainer asks you to \"rebase\" your PR, they're saying that a lot of code\nhas changed, and that you need to update your branch so it's easier to merge.\n\nTo learn more about rebasing in Git, there are a lot of\n[good](http://git-scm.com/book/en/Git-Branching-Rebasing)\n[resources](https://help.github.com/articles/interactive-rebase),\nbut here's the suggested workflow:\n\n```sh\ngit checkout 325-add-new-anmiation\ngit pull --rebase upstream master\ngit push -f 325-add-new-anmiation\n```\n\n\n\n## Licensing\n\nThe MIT License (MIT)\n\nCopyright (c) 2014 William\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","funding_links":[],"categories":["etc","Uncategorized"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWilliamZang%2FFastAnimationWithPOP","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWilliamZang%2FFastAnimationWithPOP","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWilliamZang%2FFastAnimationWithPOP/lists"}