动画效果.gif
在搭建之初,我就想以这个控制器来作为我的主控制器了。如果你也想用这个库,也是使用代码去实现的话。
我开始试了好久,始终都没有任何动画,真的是入道难啊,说简单的都是会了的。
我真的是入坑了2天,才知道了哪里有问题
不讲太多,贴出我的代码吧,我在代码中写注释吧
主要是注意:
1、 super.viewDidLoad()的位置
2、导航控制器 和 animationItem加载的时间
如果错了,是没有动画效果的
import UIKit
import RAMAnimatedTabBarController
class MainTabBarVC: RAMAnimatedTabBarController, UITabBarControllerDelegate {
/// 这里需要注意,方法的先后顺序,必须是把super.viewDidLoad()放到加载空间之后
override func viewDidLoad() {
commitInitView()
addAllChildsControllors();
super.viewDidLoad()
self.delegate = self
}
func addAllChildsControllors() {
///首页
addOneChildVC(childVC:ZPHomeVC(), title:"首页", imageNormal:UIImage(imageLiteralResourceName:"TabBarNormal_First"), imageSelect: UIImage(named:"TabBarSelect_First"))
///淳豆
addOneChildVC(childVC:ZPHomeVC(), title:"淳豆", imageNormal:UIImage(imageLiteralResourceName:"TabBarNormal_bean"), imageSelect: UIImage(named:"TabBarSelect_bean"))
///购物车
addOneChildVC(childVC:ZPHomeVC(), title:"购物车", imageNormal:UIImage(imageLiteralResourceName:"TabBarNormal_ShopingCar"), imageSelect: UIImage(named:"TabBarSelect_ShopingCar"))
//我的
addOneChildVC(childVC:ZPMineVC(), title:"我", imageNormal:UIImage(imageLiteralResourceName:"TabBarNormal_Mine"), imageSelect: UIImage(named:"TabBarSelect_Mine"))
}
func addOneChildVC(childVC: BaseViewController, title: String?, imageNormal: UIImage?, imageSelect:UIImage?) {
let navVC = BaseNavigationController(rootViewController: childVC)
let item = RAMAnimatedTabBarItem(title: title, image: imageNormal, selectedImage: imageSelect)
// 你这个选择这其中的一个RAMFumeAnimation, RAMBounceAnimation, RAMRotationAnimation, RAMFrameItemAnimation, RAMTransitionAnimation
// 你也可以为你的每一个item加载不同的动画,可以根据自己需求添加
let animation = RAMBounceAnimation()
item.animation = animation
// 这里需要先把导航控制器,加入tabbar控制器上,然后添加item,这个顺序错了,也是没有动画效果的。
addChildViewController(navVC);
navVC.tabBarItem = item
}
}
extension MainTabBarVC {
func commitInitView() {
view.backgroundColor = UIColor.white
tabBar.isTranslucent = false
tabBar.tintColor = kThemeColor()
tabBar.barTintColor = .white
}
}














网友评论