RAMAnimatedTabBarController在swift中的簡單使用

話不多說,我們直接開始箫章。首先我們用cocopods安裝一下我們這個框架诊笤。cocopods的使用就不多說了,大家可以自行百度产舞。
然后我們創(chuàng)建一個controller繼承我們RAMAnimatedTabBarController魂奥。當然不要忘記引入RAMAnimatedTabBarController不然可能會找不到。
接下來我們創(chuàng)建一個類繼承至RAMFumeAnimation這樣我么可以在這里面重寫一下這幾個方法

 override func playAnimation(_ icon: UIImageView, textLabel: UILabel) {
        playBounceAnimation(icon)
        textLabel.textColor = CGREEN
        icon.image = UIImage.init(named: "tab_icon_box_pre")
    }
    
    override func deselectAnimation(_ icon: UIImageView, textLabel: UILabel, defaultTextColor: UIColor, defaultIconColor: UIColor) {
        textLabel.textColor = UIColor.withHex("#999999")
        icon.image = UIImage.init(named: "tab_icon_box_nor")
    }
    
    override func selectedState(_ icon: UIImageView, textLabel: UILabel) {
        textLabel.textColor = CGREEN
        icon.image = UIImage.init(named: "tab_icon_box_pre")
        
    }
    
    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 = CAAnimationCalculationMode.cubic
        
        icon.layer.add(bounceAnimation, forKey: "bounceAnimation")
        
//        if let iconImage = icon.image {
//            let renderImage = iconImage.withRenderingMode(.alwaysTemplate)
//            icon.image = renderImage
//            icon.tintColor = iconSelectedColor
//        }
    }

這樣我們就做好tabbar的點擊選中時字體顏色和選中的圖片易猫,(PS:我開始的時候我的tabbar的顏色一直是藍色耻煤,就是默認的顏色,需要在這里設置我們選中圖片時的顏色)准颓。做好這里后我們回到controller里面哈蝇。這里很重要的一點我們在加載的時候加載順序很重要

   override func viewDidLoad() {
       
       addAllChildsControllors();
        super.viewDidLoad()
        commitInitView()
    
    }

??是兩個加載的方法。我們現(xiàn)在只需要添加我們的childVC就好了具體代碼
??的代碼里面我們可能要添加多個tabbar并且給不同的tabbar設置不同的動畫攘已,這時候我們只需要創(chuàng)建多個集成至RAMFumeAnimation的類就好炮赦。

func addAllChildsControllors() {
        addOneChildVC(childVC:JWellFindsGoodsViewController(), title:"找貨源", imageNormal:UIImage(imageLiteralResourceName:"tab_icon_box_nor"), imageSelect: UIImage(named:"tab_icon_box_pre"))
        addTwoChildVC(childVC:JWellSchedulingViewController(), title:"調(diào)度管理", imageNormal:UIImage(imageLiteralResourceName:"tab_icon_dispatch_nor"), imageSelect: UIImage(named:"tab_icon_dispatch_pre"))
        addThreeChildVC(childVC:JWellWaybillViewController(), title:"運單管理", imageNormal:UIImage(imageLiteralResourceName:"tab_icon_list_nor"), imageSelect: UIImage(named:"tab_icon_list_pre"))
        addFourChildVC(childVC:JWellPersonViewController(), title:"我的", imageNormal:UIImage(imageLiteralResourceName:"tab_icon_mine_nor"), imageSelect: UIImage(named:"tab_icon_mine_pre"))
    }
    
    ///添加一個控制器
    func addOneChildVC(childVC: UIViewController, title: String?, imageNormal: UIImage?, imageSelect:UIImage?) {
        let navVC = UINavigationController(rootViewController: childVC)
        let item = RAMAnimatedTabBarItem(title: title, image: imageNormal, selectedImage: imageSelect)
        let animation = JWellTabbarAnimation()
        item.animation = animation
        item.textColor = UIColor.withHex("#999999")
        item.iconView?.icon.image = imageSelect
        addChild(navVC)
        navVC.tabBarItem = item
    }

然后我們在設置一下我們tabbar的上面的一些基本屬性

  func commitInitView() {
        view.backgroundColor = UIColor.white
        tabBar.isTranslucent = false
        tabBar.tintColor = UIColor.white
        tabBar.barTintColor = .white
        tabBar.layer.borderWidth = 0.5
        tabBar.layer.borderColor = UIColor.withHex("#dddddd").cgColor
        tabBar.barStyle = .blackOpaque
        tabBarController?.tabBar.isTranslucent = false
    }

到這時候我們運行項目就能發(fā)現(xiàn)已經(jīng)成功了。demo地址稍后附上Q7涂薄!O靠簟剧防!

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市辫樱,隨后出現(xiàn)的幾起案子峭拘,更是在濱河造成了極大的恐慌,老刑警劉巖狮暑,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸡挠,死亡現(xiàn)場離奇詭異,居然都是意外死亡心例,警方通過查閱死者的電腦和手機宵凌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來止后,“玉大人瞎惫,你說我怎么就攤上這事溜腐。” “怎么了瓜喇?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵挺益,是天一觀的道長。 經(jīng)常有香客問我乘寒,道長望众,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任伞辛,我火速辦了婚禮烂翰,結果婚禮上,老公的妹妹穿的比我還像新娘蚤氏。我一直安慰自己甘耿,他們只是感情好,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布竿滨。 她就那樣靜靜地躺著佳恬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪于游。 梳的紋絲不亂的頭發(fā)上毁葱,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音贰剥,去河邊找鬼倾剿。 笑死,一個胖子當著我的面吹牛鸠澈,可吹牛的內(nèi)容都是我干的柱告。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼笑陈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了葵袭?” 一聲冷哼從身側響起涵妥,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎坡锡,沒想到半個月后蓬网,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡鹉勒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年帆锋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片禽额。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡锯厢,死狀恐怖皮官,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情实辑,我是刑警寧澤捺氢,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站剪撬,受9級特大地震影響摄乒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜残黑,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一馍佑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧梨水,春花似錦拭荤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至踊沸,卻和暖如春歇终,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逼龟。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工评凝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腺律。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓奕短,卻偏偏與公主長得像,于是被迫代替她去往敵國和親匀钧。 傳聞我的和親對象是個殘疾皇子翎碑,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348