一个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

相关文章
相关标签/搜索