最近在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.boundsself.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 Stringlet color = UIColor.hexStringToColor(hexString:"#3257d4")self.tabBar.tintColor = colorchilderVC.title = title as Stringvar 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 = tabItemnaVc.addChildViewController(childerVC)self.addChildViewController(naVc)}

swift纯代码UITabBarController的使用相关推荐

  1. iOS(一):Swift纯代码模式iOS开发入门教程

    Swift纯代码模式iOS开发入门教程 项目初始化(修改为纯代码项目) 安装第三方库(以`SnapKit`库为例) 桥接OC库(QMUIKit) 封装视图并进行导航跳转 示例:使用 `TangramK ...

  2. ios swift 纯代码自定义view(控件) XYswitchView

    文章目录 1.截图 2.代码 2.1 XYswitchView.swift 2.2 LoginVC.swift 3.参考博客 1.截图 2.代码 2.1 XYswitchView.swift impo ...

  3. ios swift 纯代码设置UITableViewCell的style

    1.dequeueReusableCell(withIdentifier:)方法不需要注册 func tableView(_ tableView: UITableView, cellForRowAt ...

  4. swift纯代码实现UITableview总结一

    在swift中没有了宏定义这个概念,所以在获取屏幕宽高时,可以设置其为常量 let SRC_WIDTH = UIScreen.main.bounds.width let SRC_HEIGHT = UI ...

  5. ios14.3开发之使用纯代码创建UITabbarController

    ios14.3开发之使用纯代码创建UITabbarController 这里我们IOS版本14.3.Xcode 版本选择的是.12.3版本:来自apple最新的xcode版本,该版本支持最新的swif ...

  6. [纯代码] Swift+UIKit · 搭建第一个iOS APP项目

    本文目录 前言 创建一个纯代码编辑的Swift + UIKit项目 创建一个Swift + UIKit项目 让它变成纯代码编辑的 让你的APP打开指定的ViewController 创建一个窗口 编辑 ...

  7. 【Swift Mac开发】纯代码创建NSViewController

    对于习惯了纯代码iOS开发的人来说,刚接触Mac端开发时,是非常不友好的,网上所有的教程都是通过Xib或StoryBoard的方式创建NSViewController,而且苹果文档也是鼓励用Xib的开 ...

  8. Swift5.x使用纯代码创建NavigationTab控制器设置启动图Wb第1部分

    Swift5.x使用纯代码创建NavigationTab控制器设置启动图Wb第1部分 前言 1 使用纯代码创建NavigationTab控制器必须会,也可使用storyboard拖控件,没有代码创建灵 ...

  9. [译] 重写 loadView() 方法使 Swift 视图代码更加简洁

    原文地址:Writing Cleaner View Code in Swift By Overriding loadView() 原文作者:Bruno Rocha 译文出自:掘金翻译计划 本文永久链接 ...

最新文章

  1. Electron、QT和JAVA PC桌面开发技术比较
  2. sublime设置tab为四个空格
  3. linux 系统kill用法
  4. DVWA--Command Injection(命令执行)--四个等级
  5. Cadence 电源完整性仿真实践(二)
  6. Python调用百度接口(情感倾向分析)和讯飞接口(语音识别、关键词提取)处理音频文件...
  7. 对JDBC操作数据库的简单封装
  8. mysql解压版怎么添加服务_Windows系统下MySQL添加到系统服务方法(mysql解压版)
  9. SNMP学习(2)——SNMP实战
  10. 59. Spiral Matrix Spiral Matrix II
  11. LibMesh 数据结构类
  12. 解决fabric编译失败(make: *** [release/linux-amd64/bin/configtxgen] Error 1)
  13. easyui模板中的disabled的使用
  14. 职工档案管理系统报告与c语言,[职工档案管理系统C语言.doc
  15. 一个「秒搜」豆瓣好书的网站
  16. 如何获取到javasript链接的网址
  17. 如何做好提升领导力培训PPT课件?
  18. 1146-Table ‘performance schema.session variables‘ doesn‘t exist
  19. GSoC 从开始到中选
  20. axios如何二次封装

热门文章

  1. 大盘下跌时,如何做空股市,继续赚钱?
  2. (二)树莓派系列教程:树莓派4B手动连接wifi,远程控制。命令行界面、桌面界面
  3. python 输出纯音频_提取视频中的音频python三行程序搞定
  4. Cortex-M3 处理器内核
  5. 缓存Cache概述——缓存Cache1.1.1
  6. Hyper-V (window 10 家庭版安装 Hyper-V)
  7. 碧波庭---第十五届中国诚信企业家大会 — 碧波庭荣获 “中国美胸产业诚信品牌” !
  8. Linux上搭建Discuz论坛
  9. SEO是什么意思?为什么要做SEO?
  10. 流量劫持是什么?常用方法有哪些?