swift纯代码UITabBarController的使用

最近在OC的基础上开始学习swift,以下是swift纯代码搭建项目架构效果图
这里写图片描述
创建一个项目 选择swift语言
这里写图片描述
将项目中的main.storyboard ,ViewController ,LaunchScreen.storyboard 删除,并将main取消为主窗口
这里写图片描述
这里写图片描述
以上操作跟OC纯代码项目架构操作一样,接下来直接上代码
在AppDelegate 类中创建主窗口并设置根控制器

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

        window = UIWindow.init()
        self.window?.frame = UIScreen.main.bounds
        self.window?.rootViewController = QCTabBarController()
        self.window?.makeKeyAndVisible()
        return true
    }

自定义一个QCTabBarController继承自UITabBarController ,在该控制器中添加子控制器如下:

override func viewDidLoad() {
        super.viewDidLoad()

        //首页
        let homeVC = QCHomeVC()
        self.addChildViewController(childerVC: homeVC, title: "首页", normalImg: "shouye_normal", selectedImg: "shouye_selected")
        //嘉宝箱
        let treasureBoxVC = QCTreasureBoxVC()
        self.addChildViewController(childerVC: treasureBoxVC, title: "嘉宝箱", normalImg: "jiabaoxiang_normal", selectedImg: "jiabaoxiang_selected")

        //我嘉
        let myShowVC = QCMyShowVC()
        self.addChildViewController(childerVC: myShowVC, title: "我嘉", normalImg: "shouye_normal", selectedImg: "shouye_selected")

        //会员中心
        let memberCenterVc = QCMemberCenterVC()
        self.addChildViewController(childerVC: memberCenterVc, title: "会员中心", normalImg: "huiyuan_normal", selectedImg: "huiyuan_selected")

        self.selectedIndex = 0

    }

    //添加子控制器
    func addChildViewController(childerVC:UIViewController,title:NSString,normalImg:NSString,selectedImg:NSString)  {

        self.tabBarItem.title = title as String
        let color = UIColor.hexStringToColor(hexString:"#3257d4")
        self.tabBar.tintColor = color

        childerVC.title = title as String

        var norImg = UIImage(named:normalImg as String)
        norImg = norImg?.withRenderingMode(UIImageRenderingMode.alwaysOriginal)

        var selImg = UIImage(named:selectedImg as String)
        selImg = selImg?.withRenderingMode(UIImageRenderingMode.alwaysOriginal)

        let tabItem = UITabBarItem(title: title as String, image: norImg,selectedImage: selImg)

        let naVc = QCNaVC()

        naVc.tabBarItem = tabItem

        naVc.addChildViewController(childerVC)

        self.addChildViewController(naVc)


    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值