一個Swift寫的快速搭建UITabBarController+UINavigationController的專案框架

godiscoder發表於2017-03-01

簡介

  • 實現語言:Swift(3.0)
  • 當前版本:0.0.2

該框架主要解決每次建立新專案的時候都要重新搭建專案框架的問題。
框架檔案如下:

--- FZHProjectInitializer
 --- FZHTabBar.swift 
 --- FZHTabBarButton.swift   
 --- FZHNavigationController.swift   
 --- FZHTabBarViewController.swift複製程式碼
  • FZHTabBarButton.swift 中重寫UIButton,改變title和iamgeView的佈局,設定UIButton選中時和未選中時的字型顏色
  • FZHTabBar.swift 中重寫UIView,設定根據傳入的控制器數量自動生成button的frame
  • FZHNavigationController.swift 中,通過重寫 pushViewControllerpopViewController 方法來實現隱藏自動TabBar
  • FZHTabBarViewController.swift 中,實現 setupChildVC(_ childVC: UIViewController,title: String,imageName: String,selectImageName: String) 方法來新增子控制器

該框架的功能

  • 快速實現搭建傳統框架: UITabBarController + UINavigationController
  • 當從導航欄的主頁面push到子頁面時,自動隱藏TabBar(現在有兩種隱藏方式:1.直接hidden,類似於微信;2.有動畫效果,類似於京東)
  • 可以通過selectColornormalColor自定義TabBar按鈕的選中狀態和未選中的顏色

整合到專案

  • Cocoapods
    pod 'FZHProjectInitializer'複製程式碼

使用示例

Code:

let fzhTabBar = FZHTabBarViewController()
fzhTabBar.selectColor = UIColor.red
fzhTabBar.normalColor = UIColor.brown
let firstVC = UIViewController()
let secondVC = UIViewController()
let thirdVC = UIViewController()
let fourVC = UIViewController()  

fzhTabBar.setupChildVC(firstVC, title: "first", imageName: "", selectImageName: "")
fzhTabBar.setupChildVC(secondVC, title: "second", imageName: "", selectImageName: "")
fzhTabBar.setupChildVC(thirdVC, title: "third", imageName: "", selectImageName: "")
fzhTabBar.setupChildVC(fourVC, title: "four", imageName: "", selectImageName: "")
window?.rootViewController = fzhTabBar複製程式碼

結束語

這是我的第一個開源框架,可能存在很多問題,希望大家可以在使用的過程中提出自己發現的問題,如果大家有什麼後續想加的功能可以在github提issue,我會盡自己最大的努力來實現。如果大家覺得該框架給大家提供了一點便利的話,還請點個star支援一下!!!

該專案的github地址

相關文章