簡介
- 實現語言: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
中,通過重寫pushViewController
和popViewController
方法來實現隱藏自動TabBar - 在
FZHTabBarViewController.swift
中,實現setupChildVC(_ childVC: UIViewController,title: String,imageName: String,selectImageName: String)
方法來新增子控制器
該框架的功能
- 快速實現搭建傳統框架: UITabBarController + UINavigationController
- 當從導航欄的主頁面push到子頁面時,自動隱藏TabBar(現在有兩種隱藏方式:1.直接hidden,類似於微信;2.有動畫效果,類似於京東)
- 可以通過
selectColor
和normalColor
自定義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支援一下!!!