【通讯录案例-tabbarController结构 Objective-C语言】

一、接下来,我们来说一下,tabbarController的View结构

通知

1.实际上,这个tabbarController的结构呢,跟这个导航控制器的结构,差不多,

它里边儿呢,首先,有一个tabbarController的View,

tabbarController,实际上,里边儿,有一个View,是专门儿来放子控制器View的,

navigationController,和这个tabbarController,的结构,基本上是差不多的,

然后呢,它们这个管理多个控制器的控制器里边儿,有一个View,

这个View是个干什么的,是专门儿用来放子控制器View的View,

这个Controller啊,这个管理多个控制器的Controller,navigation也好,tabbar也好,它都有,有一个View,这个View是干什么的,这个View,是用来放子控制器View的一个View,

2.我们新建一个项目,

通知

好,我先不新建啊,把刚才咱们的代码,command + C、command + V、复制出来一份儿,

通知

文件名,从“12-tabbarController的简单使用“,改成”13-tabbarController结构“,

通知

把这个项目打开,

通知

command + R,试一下,

通知

待会儿,我要去重写一下这三个控制器,

重写一下这三个控制器的生命周期的方法,

然后呢,在这个里边儿啊,我们说,导航控制器,

导航控制器,比如说,我画一个图,

假如说,这是导航控制器,

通知

然后呢,导航控制器,它上边有一个View啊,我多画两个,

通知

中间这个,改一下颜色,

通知

右边这个,也改一下颜色,

通知

左边这个灰色的,是导航控制器啊,

然后呢,中间这个,是第一个子控制器,将来要push进来的第一个控制器

右边这个,是第二个子控制器,将来要push进来的第二个控制器,

好,首先,我把第一个控制器,设置成rootViewController的时候,

通知

这个粉红色的东西,会放到这个位置上,

假如说,我现在点这个粉红色的这一块儿,有一个按钮,或者点击屏幕的时候,我要push另外一个控制器,的时候,

通知

那么,请问,第一个控制器的View,还在吗,

在,但是,它是盖上去的吗,

通知

不是吧,它会把这个粉红色的View,放到一边儿,

通知

然后,再把这个红色的View,放上来吧,

通知

但是,这个粉红色的View,有没有被销毁,

没有吧,

然后,假如说,我当后边儿,这个红色的控制器pop的时候,

通知

那,第一个View,会回来,

通知

那,第二个View,会不会销毁,

会,啊,第二个红色的View,会销毁,

通知

实际上,tabbar,也是一样的,

通知

在控制器重写的时候,假如说,这是红色,

当我点击第二个控制器的时候,

通知

那个红色的View,还没有被销毁,

它是不会被销毁的啊,它只是相当于跟navigation一样,被移到一边儿去,

这个我们可以试验一下啊,

3.好,在这个里边儿啊,我们把这个v1、v2、v3、都重写一下,就可以了,

我们来新建一个控制器啊,

通知

我New一个File,

选择Cocoa Touch Class,

通知

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络——IPV4数字报

1. IPv4数据报的结构 本结构遵循的是RFC 791规范,介绍了一个IPv4数据包头部的不同字段。 1.1 IPv4头部 a. 版本(Version):指明了IP协议的版本,IPv4表示为4。 b. 头部长度(IHL, Internet Header Length&…

【六袆-Golang】Golang:安装与配置Delve进行Go语言Debug调试

安装与配置Delve进行Go语言Debug调试 一、Delve简介二、win-安装Delve三、使用Delve调试Go程序[命令行的方式]四、使用Golang调试程序 Golang开发工具系列:安装与配置Delve进行Go语言Debug调试 摘要: 开发环境中安装和配置Delve,一个强大的G…

算法打卡day5|哈希表篇01|Leetcode 242.有效的字母异位词 、19.删除链表的倒数第N个节点、202. 快乐数、1. 两数之和

哈希表基础知识 哈希表 哈希表关键码就是数组的索引下标,然后通过下标直接访问数组中的元素;数组就是哈希表的一种 一般哈希表都是用来快速判断一个元素是否出现集合里。例如要查询一个名字是否在班级里: 要枚举的话时间复杂度是O(n)&…

Leetcoder Day25| 回溯part05:子集+排列

491.递增子序列 给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。 示例: 输入:[4, 7, 6, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [6, 7], [7,7], [4,7,7]] 说明: 给定数组的长度不会超过15。数组中的整数范围是 [-100,100]。给定数…

【Python】Code2flow学习笔记

1 Code2flow介绍 Code2flow是一个代码可视化工具库,旨在帮助开发人员更好地理解和分析代码: 可以将Python代码转换为流程图,以直观的方式展示代码的执行流程和逻辑结构。具有简单易用、高度可定制化和美观的特点,适用于各种代码…

AI学习(5):PyTorch-核心模块(Autograd):自动求导

1.介绍 在深度学习中,自动求导是一项核心技术,它使得我们能够方便地计算梯度并优化模型参数。PyTorch 提供了一个强大的自动求导模块(Autograd),它可以自动计算张量的导数得出梯度信息,同时也支持高阶导数计算。 1.1 概念词 在学…

Bicycles(变形dijkstra,动态规划思想)

Codeforces Round 918 (Div. 4) G. Bicycles G. Bicycles 题意: 斯拉夫的所有朋友都打算骑自行车从他们住的地方去参加一个聚会。除了斯拉维奇,他们都有一辆自行车。他们可以经过 n n n 个城市。他们都住在城市 1 1 1 ,想去参加位于城市…

nginx实现http反向代理

一、代理概述 1、代理概念 1.1 正向代理(Forward Proxy) 概念:正向代理是位于客户端和目标服务器之间的代理服务器,代表客户端向目标服务器发送请求。客户端将请求发送给代理服务器,然后代理服务器将请求转发给目标服…

ChatGPT 正测试Android屏幕小组件;联想ThinkBook 推出透明笔记本电脑

▶ ChatGPT 测试屏幕小组件 近日 ChatGPT 正在测试 Android 平台上的屏幕小组件,类似于手机中的悬浮窗,按住 Android 手机主屏幕上的空白位置就可以调出 ChatGPT 的部件菜单。 菜单中提供了许多选项,包括文本、语音和视频查询的快捷方式&…

【OpenCV C++】Mat img.total() 和img.cols * img.rows 意思一样吗?二者完全相等吗?

文章目录 1 结论及区别2 Mat img的属性 介绍1 结论及区别 在大多数情况下,img.total() 和 img.cols * img.rows 是相等的,但并不总是完全相等的。下面是它们的含义和一些区别: 1.img.total() 表示图像中像素的总数,即图像的总像素数量。2.img.cols * img.rows 也表示图像中…

springboot003图书个性化推荐系统的设计与实现(源码+调试+LW)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于SpringBoot的图书个…

【GitHub】修改默认分支

GitHub的默认分支为main,但我们常常习惯使用master作为默认分支,那在GitHub上如何将master修改为默认分支呢? 全局修改 点击头像,选择菜单栏中的设置 输入master作为默认分支,然后执行updating即可! 单项…