:octocat: RAMAnimatedTabBarController is a Swift UI module library for adding animation to iOS tabbar items and icons. iOS library made by @Ramotion
Swift
11,081
395 commits
updated Jan 26, 2022
Just add the RAMAnimatedTabBarController folder to your project.
or use CocoaPods with Podfile:
pod 'RAMAnimatedTabBarController'
or Carthage users can simply add to their Cartfile:
github "Ramotion/animated-tab-bar"
Create a new UITabBarController in your storyboard or nib.
Set the class of the UITabBarController to RAMAnimatedTabBarController in your Storyboard or nib.
For each UITabBarItem, set the class to RAMAnimatedTabBarItem.
Add a custom image icon for each RAMAnimatedTabBarItem
Add animation for each RAMAnimatedTabBarItem :
class NewAnimation : RAMItemAnimation
// method call when Tab Bar Item is selected
override func playAnimation(icon: UIImageView, textLabel: UILabel) {
// add animation
}
// method call when Tab Bar Item is deselected
override func deselectAnimation(icon: UIImageView, textLabel: UILabel, defaultTextColor: UIColor, defaultIconColor: UIColor) {
// add animation
}
// method call when TabBarController did load
override func selectedState(icon: UIImageView, textLabel: UILabel) {
// set selected state
}
import RAMAnimatedTabBarController
class RAMBounceAnimation : RAMItemAnimation {
override func playAnimation(_ icon: UIImageView, textLabel: UILabel) {
playBounceAnimation(icon)
textLabel.textColor = textSelectedColor
}
override func deselectAnimation(_ icon: UIImageView, textLabel: UILabel, defaultTextColor: UIColor, defaultIconColor: UIColor) {
textLabel.textColor = defaultTextColor
}
override func selectedState(_ icon: UIImageView, textLabel: UILabel) {
textLabel.textColor = textSelectedColor
}
func playBounceAnimation(_ icon : UIImageView) {
let bounceAnimation = CAKeyframeAnimation(keyPath: "transform.scale")
bounceAnimation.values = [1.0 ,1.4, 0.9, 1.15, 0.95, 1.02, 1.0]
bounceAnimation.duration = TimeInterval(duration)
bounceAnimation.calculationMode = kCAAnimationCubic
icon.layer.add(bounceAnimation, forKey: "bounceAnimation")
}
}
Animated Tab Bar is released under the MIT license. See LICENSE for details.
This library is a part of a selection of our best UI open-source projects.
If you use the open-source library in your project, please make sure to credit and backlink to www.ramotion.com
Try this UI component and more like this in our iOS app. Contact us if interested.
35 followers · starred May 2016
159 followers · starred Aug 2016
133 followers · starred Aug 2015
218 followers · starred Jul 2015
:octocat: RAMAnimatedTabBarController is a Swift UI module library for adding animation to iOS tabbar items and icons. iOS library made by @Ramotion
Swift
11,081
395 commits
updated Jan 26, 2022
Just add the RAMAnimatedTabBarController folder to your project.
or use CocoaPods with Podfile:
pod 'RAMAnimatedTabBarController'
or Carthage users can simply add to their Cartfile:
github "Ramotion/animated-tab-bar"
Create a new UITabBarController in your storyboard or nib.
Set the class of the UITabBarController to RAMAnimatedTabBarController in your Storyboard or nib.
For each UITabBarItem, set the class to RAMAnimatedTabBarItem.
Add a custom image icon for each RAMAnimatedTabBarItem
Add animation for each RAMAnimatedTabBarItem :
class NewAnimation : RAMItemAnimation
// method call when Tab Bar Item is selected
override func playAnimation(icon: UIImageView, textLabel: UILabel) {
// add animation
}
// method call when Tab Bar Item is deselected
override func deselectAnimation(icon: UIImageView, textLabel: UILabel, defaultTextColor: UIColor, defaultIconColor: UIColor) {
// add animation
}
// method call when TabBarController did load
override func selectedState(icon: UIImageView, textLabel: UILabel) {
// set selected state
}
import RAMAnimatedTabBarController
class RAMBounceAnimation : RAMItemAnimation {
override func playAnimation(_ icon: UIImageView, textLabel: UILabel) {
playBounceAnimation(icon)
textLabel.textColor = textSelectedColor
}
override func deselectAnimation(_ icon: UIImageView, textLabel: UILabel, defaultTextColor: UIColor, defaultIconColor: UIColor) {
textLabel.textColor = defaultTextColor
}
override func selectedState(_ icon: UIImageView, textLabel: UILabel) {
textLabel.textColor = textSelectedColor
}
func playBounceAnimation(_ icon : UIImageView) {
let bounceAnimation = CAKeyframeAnimation(keyPath: "transform.scale")
bounceAnimation.values = [1.0 ,1.4, 0.9, 1.15, 0.95, 1.02, 1.0]
bounceAnimation.duration = TimeInterval(duration)
bounceAnimation.calculationMode = kCAAnimationCubic
icon.layer.add(bounceAnimation, forKey: "bounceAnimation")
}
}
Animated Tab Bar is released under the MIT license. See LICENSE for details.
This library is a part of a selection of our best UI open-source projects.
If you use the open-source library in your project, please make sure to credit and backlink to www.ramotion.com
Try this UI component and more like this in our iOS app. Contact us if interested.
35 followers · starred May 2016
159 followers · starred Aug 2016
133 followers · starred Aug 2015
218 followers · starred Jul 2015