swift初始化一个项目导航栏和标签栏(nav和tabbar)

第一步:创建一个UITabBarController的类,全部代码如下,
里面包含了导航栏,所以在创建的时候只要集成这个类,然后,设置父类里面的数组的值,就好了
import UIKit

class BaseTabBarController: UITabBarController {

 var titles = [String]()
 var selectedImgNames = [String]()
 var normalImgNames = [String]()
 var VCs = [UIViewController]()


override func viewDidLoad() {
    super.viewDidLoad()
    print(titles.count)
    setUpUI()

}

}
extension BaseTabBarController{

fileprivate func setUpUI(){

    for item in 0..<titles.count {

        let vc = VCs[item]
        vc.tabBarItem.image = UIImage.init(named: normalImgNames[item])?.withRenderingMode(.alwaysOriginal)
        vc.tabBarItem.title = titles[item]

        vc.tabBarItem.selectedImage = UIImage.init(named: selectedImgNames[item])?.withRenderingMode(.alwaysOriginal)
        vc.tabBarItem!.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.lightGray], for: UIControlState())
        vc.tabBarItem!.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.red], for: .selected)
        let navc = UINavigationController.init(rootViewController: vc)
        vc.navigationItem.title = titles[item]
        self.addChildViewController(navc)
    }

}

}

第二部:创建一个类,继承上面封装好的tabbarcontrol就好了
import UIKit

class MainViewController: BaseTabBarController {

override func viewDidLoad() {

    titles = ["流程管理","业务管理","客户管理","租后管理","智能监控"]
    selectedImgNames = ["tabbar03_selected","tabbar03_selected","tabbar03_selected","tabbar03_selected","tabbar03_selected"]
    normalImgNames = ["tabbar03_normal","tabbar03_normal","tabbar03_normal","tabbar03_normal","tabbar03_normal"]
    VCs = [processManagementVC(),businessManagementVC(),ustomerManagementVC(),afterRentManagementVC(),intelligentMonitoringVC()]
    super.viewDidLoad()

}

}
//OK几句话就解决了问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值