{"id":2796,"url":"https://github.com/Ramotion/animated-tab-bar","last_synced_at":"2025-08-06T16:31:37.527Z","repository":{"id":23127081,"uuid":"26481815","full_name":"Ramotion/animated-tab-bar","owner":"Ramotion","description":":octocat: RAMAnimatedTabBarController is a Swift UI module library for adding animation to iOS tabbar items and icons. iOS library made by @Ramotion","archived":false,"fork":false,"pushed_at":"2022-01-26T02:40:50.000Z","size":9671,"stargazers_count":11128,"open_issues_count":16,"forks_count":1328,"subscribers_count":317,"default_branch":"master","last_synced_at":"2024-10-29T15:12:32.850Z","etag":null,"topics":["animation","ios","library","material-design","swift","ui"],"latest_commit_sha":null,"homepage":"https://www.ramotion.com/animated-tab-bar-ios-app-development-ui-library/","language":"Swift","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/Ramotion.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-11T11:20:04.000Z","updated_at":"2024-10-28T01:43:27.000Z","dependencies_parsed_at":"2022-07-11T02:00:37.314Z","dependency_job_id":null,"html_url":"https://github.com/Ramotion/animated-tab-bar","commit_stats":null,"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fanimated-tab-bar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fanimated-tab-bar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fanimated-tab-bar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fanimated-tab-bar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ramotion","download_url":"https://codeload.github.com/Ramotion/animated-tab-bar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227040321,"owners_count":17721724,"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":["animation","ios","library","material-design","swift","ui"],"created_at":"2024-01-05T20:16:23.075Z","updated_at":"2024-12-09T16:31:06.592Z","avatar_url":"https://github.com/Ramotion.png","language":"Swift","funding_links":["https://paypal.me/Ramotion"],"categories":["UI","Libs","TabBar","Swift","9. 其他与展望","UI [🔝](#readme)","iOS","Content","Uncategorized"],"sub_categories":["Tab Bar","UI","Layout","Other free courses","5. 参考材料","TabBar","Uncategorized"],"readme":"\u003ca href=\"https://www.ramotion.com/agency/app-development/?utm_source=gthb\u0026utm_medium=repo\u0026utm_campaign=animated-tab-bar\"\u003e\u003cimg src=\"https://github.com/Ramotion/animated-tab-bar/blob/master/header.png\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://github.com/Ramotion/animated-tab-bar\"\u003e\n\u003cimg align=\"left\" src=\"https://github.com/Ramotion/animated-tab-bar/blob/master/Screenshots/animatedTabBar.gif\" width=\"480\" height=\"360\" /\u003e\u003c/a\u003e\n\n\u003cp\u003e\u003ch1 align=\"left\"\u003eANIMATED TAB BAR\u003c/h1\u003e\u003c/p\u003e\n\n\u003ch4\u003eSwift UI module library for adding animation to iOS tabbar items and icons.\u003c/h4\u003e\n\n\n___\n\n\n\n\u003cp\u003e\u003ch6\u003eWe specialize in the designing and coding of custom UI for Mobile Apps and Websites.\u003c/h6\u003e\n\u003ca href=\"https://www.ramotion.com/agency/app-development/?utm_source=gthb\u0026utm_medium=repo\u0026utm_campaign=animated-tab-bar\"\u003e\n\u003cimg src=\"https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png\" width=\"187\" height=\"34\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\u003ch6\u003eStay tuned for the latest updates:\u003c/h6\u003e\n\u003ca href=\"https://goo.gl/rPFpid\" \u003e\n\u003cimg src=\"https://i.imgur.com/ziSqeSo.png/\" width=\"156\" height=\"28\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n\u003c/br\u003e\n\n[![CocoaPods](https://img.shields.io/cocoapods/p/RAMAnimatedTabBarController.svg)](http://cocoapods.org/pods/RAMAnimatedTabBarController)\n[![CocoaPods](https://img.shields.io/cocoapods/v/RAMAnimatedTabBarController.svg)](http://cocoapods.org/pods/RAMAnimatedTabBarController)\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Ramotion/animated-tab-bar)\n[![Swift 4.0](https://img.shields.io/badge/Swift-5.0-green.svg?style=flat)](https://developer.apple.com/swift/)\n[![Twitter](https://img.shields.io/badge/Twitter-@Ramotion-blue.svg?style=flat)](http://twitter.com/Ramotion)\n[![Travis](https://img.shields.io/travis/Ramotion/animated-tab-bar.svg)](https://travis-ci.org/Ramotion/animated-tab-bar)\n[![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://paypal.me/Ramotion)\n\n## Requirements\n\n- iOS 9.0+\n- Xcode 10.2\n\n## Installation\n\nJust add the RAMAnimatedTabBarController folder to your project.\n\nor use [CocoaPods](https://cocoapods.org) with Podfile:\n``` ruby\npod 'RAMAnimatedTabBarController'\n```\n\nor [Carthage](https://github.com/Carthage/Carthage) users can simply add to their `Cartfile`:\n```\ngithub \"Ramotion/animated-tab-bar\"\n```\n\nor [Swift Package Manager](https://swift.org/package-manager/) \n\n\n## Usage\n\n1. Create a new UITabBarController in your storyboard or nib.\n\n2. Set the class of the UITabBarController to RAMAnimatedTabBarController in your Storyboard or nib.\n\n3. For each UITabBarItem, set the class to RAMAnimatedTabBarItem.\n\n4. Add a custom image icon for each RAMAnimatedTabBarItem\n\n5. Add animation for each RAMAnimatedTabBarItem :\n   * drag and drop an NSObject item into your ViewController\n   * set its class to ANIMATION_CLASS (where ANIMATION_CLASS is the class name of the animation you want to use)\n   * connect the outlet animation in RAMAnimatedTabBarItem to your ANIMATION_CLASS\n   [Demonstration video for step 5](http://vimeo.com/112390386)\n\n\n## Included Animations\n\n* RAMBounceAnimation\n* RAMLeftRotationAnimation\n* RAMRightRotationAnimation\n* RAMFlipLeftTransitionItemAnimations\n* RAMFlipRightTransitionItemAnimations\n* RAMFlipTopTransitionItemAnimations\n* RAMFlipBottomTransitionItemAnimations\n* RAMFrameItemAnimation\n* RAMFumeAnimation\n\n## Creating Custom Animations\n1. Create a new class which inherits from RAMItemAnimation:\n\n  ``` swift\n     class NewAnimation : RAMItemAnimation\n  ```\n2. Implement the methods in RAMItemAnimationProtocol:\n\n\n  ``` swift\n    // method call when Tab Bar Item is selected\n    override func playAnimation(icon: UIImageView, textLabel: UILabel) {\n      // add animation\n    }\n  ```  \n  ``` swift\n    // method call when Tab Bar Item is deselected\n    override func deselectAnimation(icon: UIImageView, textLabel: UILabel, defaultTextColor: UIColor, defaultIconColor: UIColor) {\n      // add animation\n    }\n  ```    \n  ``` swift\n    // method call when TabBarController did load\n    override func selectedState(icon: UIImageView, textLabel: UILabel) {\n      // set selected state  \n    }\n  ```\n\n3. Example:\n\n``` swift\nimport RAMAnimatedTabBarController\n\nclass RAMBounceAnimation : RAMItemAnimation {\n\n    override func playAnimation(_ icon: UIImageView, textLabel: UILabel) {\n        playBounceAnimation(icon)\n        textLabel.textColor = textSelectedColor\n    }\n\n    override func deselectAnimation(_ icon: UIImageView, textLabel: UILabel, defaultTextColor: UIColor, defaultIconColor: UIColor) {\n        textLabel.textColor = defaultTextColor\n    }\n\n    override func selectedState(_ icon: UIImageView, textLabel: UILabel) {\n        textLabel.textColor = textSelectedColor\n    }\n\n    func playBounceAnimation(_ icon : UIImageView) {\n\n        let bounceAnimation = CAKeyframeAnimation(keyPath: \"transform.scale\")\n        bounceAnimation.values = [1.0 ,1.4, 0.9, 1.15, 0.95, 1.02, 1.0]\n        bounceAnimation.duration = TimeInterval(duration)\n        bounceAnimation.calculationMode = kCAAnimationCubic\n\n        icon.layer.add(bounceAnimation, forKey: \"bounceAnimation\")\n    }\n}\n```\n\n\n## 📄 License\n\nAnimated Tab Bar is released under the MIT license.\nSee [LICENSE](./LICENSE) for details.\n\nThis library is a part of a \u003ca href=\"https://github.com/Ramotion/swift-ui-animation-components-and-libraries\"\u003e\u003cb\u003eselection of our best UI open-source projects.\u003c/b\u003e\u003c/a\u003e\n\nIf you use the open-source library in your project, please make sure to credit and backlink to www.ramotion.com\n\n## 📱 Get the Showroom App for iOS to give it a try\nTry this UI component and more like this in our iOS app. Contact us if interested.\n\n\u003ca href=\"https://itunes.apple.com/app/apple-store/id1182360240?pt=550053\u0026ct=animated-tab-bar\u0026mt=8\" \u003e\n\u003cimg src=\"https://github.com/ramotion/gliding-collection/raw/master/app_store@2x.png\" width=\"117\" height=\"34\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://www.ramotion.com/agency/app-development/?utm_source=gthb\u0026utm_medium=repo\u0026utm_campaign=animated-tab-bar\"\u003e\n\u003cimg src=\"https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png\" width=\"187\" height=\"34\"\u003e\u003c/a\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRamotion%2Fanimated-tab-bar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRamotion%2Fanimated-tab-bar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRamotion%2Fanimated-tab-bar/lists"}