一個Swift寫的快速搭建UITabBarController+UINavigationController的項目框架

簡介

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

該框架主要解決每次建立新項目的時候都要從新搭建項目框架的問題。
框架文件以下:javascript

--- 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:java

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支持一下!!!git

該項目的github地址github

相關文章
相關標籤/搜索