IOS 17 基于UITabBarController实现首页TabBar

news2024/11/15 8:00:37

实现方式

创建首页MainController继承自UITabBarController就可以实现Tabbar效果。

实现效果

创建几个子控制器

创建子控制器 DiscoveryController,VideoController,MeController,FeedController,RoomController,继承自BaseLogicController;BaseLogicController封装 查看文章 IOS 11 通用Base控制器封装

//
//  DiscoveryController.swift
//  MyCloudMusic
//
//  Created by jin on 2024/8/27.
//

import UIKit

class DiscoveryController: BaseLogicController {

   
}

其余自控制器实现同DiscoveryController。

创建MainController 

MainController继承自UITabBarController

//
//  MainController.swift
//  主界面
//
//  Created by jin on 2024/8/20.
//

import UIKit

class MainController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        //选中高亮颜色
        tabBar.tintColor = .primaryColor
        tabBar.isTranslucent = true
        
        //添加子控制器
        addChildController(DiscoveryController(), R.string.localizable.discovery(), "Discovery")
        addChildController(VideoController(), R.string.localizable.video(), "Video")
        addChildController(MeController(), R.string.localizable.me(), "Me")
        addChildController(FeedController(), R.string.localizable.feed(), "Feed")
        addChildController(RoomController(), R.string.localizable.live(), "Live")
    }
    
    /// 添加子控制器
    func addChildController(_ target:UIViewController,_ title:String,_ imageName:String) {
        //标题
        target.tabBarItem.title = title
        
        //默认图片
        target.tabBarItem.image = UIImage(named: imageName)
        
        //选择后图片
        target.tabBarItem.selectedImage = UIImage(named: "\(imageName)Selected")
        
        //选择后文本颜色
        target.tabBarItem.setBadgeTextAttributes([.foregroundColor:UIColor.colorPrimary], for: .selected)
        
        addChild(target)
    }
}

编译能够正常显示首页Tabbar效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2081689.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【书生大模型实战营(暑假场)】进阶任务四 InternVL 多模态模型部署微调实践

进阶任务四 InternVL 多模态模型部署微调实践 任务文档视频 1 InternVL 基本介绍 InternVL 是一种用于多模态任务的深度学习模型,旨在处理和理解多种类型的数据输入,如图像和文本。它结合了视觉和语言模型,能够执行复杂的跨模态任务&#x…

YOLOv5改进 | 融合改进 | C3融合Faster-GELU模块提升检测速度【完整代码 + 主要代码解析】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录: 《YOLOv5入门 改…

[GKCTF 2021]excel 骚操作1

使用010editor打开发现zip头,改后缀名xlsx为zip,解压,在D:\python\flag (1)\xl\worksheets目录下有个sheet1.xml就是ecxel的sheet1的主要样式style 看到很多c r"B2" s"1,只是单元格数据不同而已 ,还有的…

Windows10打印机共享小技巧

现在工作中打印机,大多数都是通过TCP/IP直连的方式安装打印的;但还是会碰到有需要通过主机安装后共享连接的网络打印机;特别是在Windows10主机上共享打印机,因为系统安全策略的优化,连接共享打印机时,会遇到…

C++第四十二弹---C++11新特性深度解析:让你的代码更现代、更高效(中)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1 右值引用和移动语义 1.1 左值引用和右值引用 1.2 左值引用与右值引用比较 1.3 右值引用使用场景和意义 1.4 右值引用引用左值及其一些更深入…

wpf prism 《1》、区域 、模块化

安装prism.DryIoc 修改app.xaml <prism:PrismApplication x:Class"WpfApp3.App"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local"clr-namespace:W…

算法的学习笔记—最小的 K 个数(牛客JZ40)

&#x1f600;前言 在编程面试中&#xff0c;找出一个数组中最小的K个数是一个常见的问题。虽然看似简单&#xff0c;但要在高效性方面有所保证却并不容易。本文将介绍两种有效解决该问题的算法&#xff1a;基于堆的解法和快速选择算法。我们将详细讲解它们的实现方式、时间复杂…

基于3U PXIe总线架构的4路250MSPS中频信号采集处理存储系统

标准3U PXIE规格1个FMC AD子卡&#xff0c;支持4通道250MSPS 16位 AD采集板载 1 片 XC7K325T FPGA处理器支持x8 PCIE主机接口&#xff0c;系统带宽4GByte/s支持板间同步支持多系统同步 基于PXI Express总线架构的中频信号采集处理存储系统&#xff0c;该系统由1块PXIe规格FMC载…

自注意力,多头注意力,交叉注意力与因果注意力复习

“自注意力机制中有三个重要的输入矩阵&#xff1a;查询矩阵Q&#xff08;query&#xff09;、键矩阵K&#xff08;key&#xff09;和值矩阵V&#xff08;value&#xff09;。这三个矩阵都是由输入序列经过不同的线性变换得到的。然后&#xff0c;查询矩阵Q与键矩阵K的乘积经过…

ComfyUI - 在 ComfyUI 中配置 Flux + LoRA 的组合流程优化图像属性

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/141638928 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 在 Dif…

【计算机组成原理】五、中央处理器:2.数据通路、控制器(单总线结构、专用数据通路、硬布线控制器、微程序控制器)

3.数据通路 文章目录 3.数据通路3.1单总线结构3.2专用数据通路 4.控制器4.1硬布线控制器4.1.1基本结构4.1.2设计步骤微操作总结1&#xff09;分析每个阶段的微操作序列2&#xff09;安排微操作时序的原则3&#xff09;电路设计 4.1.3特点 4.2微程序控制器微指令包含关系4.2.1基…

大模型全量微调和 LoRA 微调:一看就懂_lora微调

在模型微调领域&#xff0c;全量微调和LoRA微调是我们经常听到的技术术语。 首先&#xff0c;我们需要了解什么是模型微调。模型微调本质上是因为有时我们发现模型在某个方面的性能不足。因此&#xff0c;我们希望通过一些训练方法来更新模型&#xff0c;使更新后的模型在某些…

达梦到达梦(dm-dm)创建dblink,报错:dblink连接丢失

原因 1&#xff1a;参考如下链接配置完dmmal.ini文件后&#xff0c;需要重启服务。 如果文件配置错误&#xff0c;重启服务会有很明显的报错。 https://eco.dameng.com/document/dm/zh-cn/sql-dev/practice-dblink.html [mal_inst1] mal_inst_name DMSERVER mal_host …

飞翔的马鞍 <收纳 No.2> 菱与欣桐画展8月18~31日在798举办

2024年8月18日下午三点&#xff0c;“菱与欣桐 收纳No.2”双人展开幕式在北京市朝阳区798国际艺术交流中心展厅举行。 艺术是永恒的&#xff0c;艺术家的生命力通过作品得以延续。开幕式上艺术家张菱分享了与女儿李欣桐在创作中的点滴记忆&#xff0c;以及她对艺术的执着与热爱…

Django框架自动化测试

【图书介绍】《Django 5企业级Web应用开发实战&#xff08;视频教学版&#xff09;》_django 5企业级web应用开发实战(视频教学版)-CSDN博客 《Django 5企业级Web应用开发实战&#xff08;视频教学版&#xff09;》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com) 本节介绍关…

2024.8.27(Dokerfile的应用、私有仓库)

一、Dockerfile应用 1、通过dockerfile创建⼀个在启动容器时&#xff0c;就可以启动httpd服务的镜像 [rootdocker ~]# mkdir httpd0 [rootdocker ~]# cd httpd0 [rootdocker httpd0]# vim abc.sh [rootdocker httpd0]# ls abc.sh [rootdocker httpd0]# echo " httpd serv…

C语言重难点总结(2)-指针操作与结构体、动态内存

本节学习内容 1.指针操作与结构体 2.函数&#xff08;递归函数&#xff09; 3.动态内存 一、指针操作与结构体 指针可以作为结构体的内部成员使用&#xff0c;也可以使用结构体指针操作结构体空间。 二、函数 1.指针函数 &#xff08;1&#xff09;什么是指针函数&#x…

企业家必看的十种让利的商业模式解析!

在当今的商业领域&#xff0c;众多创业者正面临前所未有的挑战。市场竞争激烈&#xff0c;价格战频繁&#xff0c;吸引投资者和推广产品都变得异常艰难。然而&#xff0c;问题的关键在于对“人心”的洞察。人们天生追求利益&#xff0c;因此&#xff0c;掌握如何点燃市场需求和…

运维有必要学编程吗?应该学哪种编程语言?

在以往的观念中&#xff0c;运维的工作内容是不涉及编程、开发的&#xff0c;因此以前也没用学编程的需求。然而随着互联网的发展和变化&#xff0c;现如今&#xff0c;运维也需要开始接触开发&#xff0c;接触编程了。 当然有很多运维朋友&#xff0c;本身是不认可的。可&…

IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了)。

文章目录 前言一、链接服务器vscode和pycharm的对比1、pycharm2、vscode3、总结 二、VS Code的安装与下载三、链接远程服务器1、安装远程插件&#xff1a;Remote-SSH2、写ssh配置文件3、链接服务器4、登录成功&#xff0c;打开文件夹 前言 大模型开发肯定要在服务器了&#xff…