該框架主要解決每次建立新項目的時候都要從新搭建項目框架的問題。
框架文件以下:javascript
--- FZHProjectInitializer
--- FZHTabBar.swift
--- FZHTabBarButton.swift
--- FZHNavigationController.swift
--- FZHTabBarViewController.swift複製代碼
FZHTabBarButton.swift
中重寫UIButton,改變title和iamgeView的佈局,設置UIButton選中時和未選中時的字體顏色FZHTabBar.swift
中重寫UIView,設置根據傳入的控制器數量自動生成button的frameFZHNavigationController.swift
中,經過重寫 pushViewController
和 popViewController
方法來實現隱藏自動TabBarFZHTabBarViewController.swift
中,實現 setupChildVC(_ childVC: UIViewController,title: String,imageName: String,selectImageName: String)
方法來添加子控制器selectColor
和normalColor
自定義TabBar按鈕的選中狀態和未選中的顏色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