美文网首页
RAMAnimatedTabBarController的使用

RAMAnimatedTabBarController的使用

作者: 门前的那颗樱桃树 | 来源:发表于2018-07-20 14:50 被阅读0次
动画效果.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
    }
}

相关文章

网友评论

      本文标题:RAMAnimatedTabBarController的使用

      本文链接:https://www.haomeiwen.com/subject/srtqmftx.html