FZHProjectInitializer介绍

简介

  • 实现语言:Swift(3.0)
  • 当前版本:0.0.3

该框架主要解决每次创建新项目的时候都要重新搭建项目框架的问题。
框架文件如下:

1
2
3
4
5
--- 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
    1
    pod 'FZHProjectInitializer'

使用示例

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
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地址