【导航控制器的基本使用 Objective-C语言】

news2025/1/21 6:31:26

一、导航控制器的基本使用

1.那接下来呢,我们就要讲解这个重中之重了啊,导航控制器,大家一定要注意听,那首先呢,我们先来看ppt,引导一下,

通知

导航控制器.pptx,打开,

通知

那接下来呢,我们就要学习这个多控制器的管理了,

里面的第一个内容,叫做导航控制器,

通知

那今天呢,我们主要针对的是上面这个啊,UINavigationController

第二个,UITabBarController,大家可以忽略,

然后呢,主要是,UINavigationController的工作原理

然后呢,以及Segue(/ˈseɡweɪ/,赛格瑞;联线)的使用,

然后呢,以及,控制器之间的数据传递,

但今天呢,我们只是,小小的引入一下这个数据传递,不要太担心,

走着,

通知

然后呢,多个控制器,为什么要给大家介绍这个多个控制器管理呢,

因为我们在平常使用应用程序的时候,不管是安卓、不管是iOS、以及其他的什么塞班,对吧,不管你什么应用,它都有很多的界面儿,

每一个界面儿,其实呢,都相当于一个控制器,

每出来一个界面儿,它都要给你加载一个控制器,

把这个界面儿推过来啊,返回去啊,

那这个呢,就牵扯到这个多个控制器管理了,

所以呢,也就是我们今天要给大家介绍的UINavigationController,

然后,这个UITabBarController呢,它是标签控制器,

这是我们后面要给大家讲解的,

不过呢,也给大家提一下啊,

这个TabBarController,什么时候用呢,你在微信里面,你注意到没有,底下有四个选项,

1)联系人

2)聊天

3)动态

4)你自己的信息

对吧,

然后,它的,底下这个条儿呢,就是通过标签儿控制器里面的一个TabBar实现的

那这个后面再去研究了啊,知道就行,

NavigationController,就是针对你上边儿这一部分,顶部是不是有一个导航条,

那我们也可以看一下我们模拟器,

通知

比如说,设置里面,

通知

一点击,然后呢,整个界面儿,就相当于一个导航控制器,

通知

只不过呢,它里面内置的一个TableViewController

然后呢,这个导航控制器,主要作用是干嘛的呢,主要就在这里,

通知

主要就在这儿,现在这个设置里边,是不是什么都没有,

但是,当你进行跳转的时候,你点击General,跳转,看到没有,

通知

上边就有内容了吧,

你过去(点About)

通知

回来(点击Settings)

通知

这些东西,跳转过去,然后呢,返回,这些操作呢,都是通过我们导航控制器,来实现的,

现在先感受一下啊,还有几个概念的东西,需要给大家说一下,

通知

用一个控制器A去管理3个控制器B、C、D

这个控制器A被称为控制器B、C、D的“父控制器”

但是这里所说的“父控制器”,不是说,就是我们在控件里面,父控件、子控件、你是不是装进去啊,

父控件、与子控件的关系,是什么,子控件是不是装到父控件里面了,addSubview,是不是啊

但是我们这里面,它不是这个原理啊,

它只是相当于一个我这个导航控制器相当于一个容器,

然后你放过来一个控制器,把B、C、D三个控制器放进来,

明白吧,不是说跟我们控件一样,add什么的

不是这么一个道理啊,

我们继续往下看,

通知

那这个呢,就是我们“设置”界面儿了,当你点击“通用”,是不是跳过去,然后呢,点击“设置”返回来,如果你点击“键盘”,跳过去

通知

走一个

通知

二、那接下来,就牵扯到这个导航控制器的基本使用了

1.那给大家说一下啊,这个导航控制器,就是UINavigationController

它的基本使用步骤呢,我们先来了解一下啊,

1)初始化UINavigationController

2)设置UIWindow的rootViewController为UINavigationController

这个是不是很熟悉啊,第二步是不是看的很熟,

3)将第一个视图控制器设置为UINavigationController的根视图控制器

4)通过push的方法去新建子控制器

5)通过pop的方法可以返回到上一个控制器

2.那这个push和pop,我再给大家说一下

我们这个ppt就看完了啊

然后呢,再给大家看一下模拟器

这个push什么时候使用呢

通知

就是在这个TableView里面,比如说,选中一行,General,

通知

那你调过来这个过程,是不是从左边儿、额、不是、从右边儿显示过来,对吧,

它这个过程呢,就叫做一个push的过程

通知

但是,当你点击Settings的时候,

通知

点击Setting,返回的时候,

这个过程相当于一个pop的过程

通知

明白吧,一个push、一个pop、一个push、一个pop

2.那接下来呢,我们就上代码了啊,然后呢,边写边看啊,边写边说

那我先新建一份儿代码

通知

选择这个iOS下面的Application,里面的Single View Application

给它起个Name呢,

通知

点击Next,看一下是第几份儿代码了

通知

05已经有了吧,该06了

06 - 导航控制器的基本使用

通知

点击Next,点击Create

好,那跟上午一样

通知

现在呢,我不用系统的这些控制器了,我还是用我们自定义的方式来加载控制器,那我是不是还得把它们删了,再写一遍啊,上午我们只写了两遍那个什么创建window啊,什么东西

通知

1)选中这三个,ViewController.h、ViewController.m、Main.storyboard

点击Delete

然后呢,点击Move to Trash

通知

2)然后呢,把这个Main,是不是得删掉

通知

对,删掉,按住command ,走

通知

3)然后呢,那紧接着,是不是在AppDelegate里面,就可以写了

通知

对,第三步,把这个注释删掉

通知

删掉

通知

再写一遍啊,

1)创建window

2)设置window的根控制器

3)设置主窗口并可见

通知

1)好,创建window,然后呢,这个大小,就是屏幕大小

self.window = [UIWindow alloc] initWithFrame:

通知

self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

通知

2)设置window的根控制器

然后呢,这个先不说了,

3)将窗口设置为主窗口并可见

[self.window makeKeyAndVisible];

通知

2.设置window的根控制器

现在,我们不用其他的了啊,我们就用这个UINavigationController

有思路吗,我现在给你了,已经给你了,就是这个UINavigationController

通知

导航控制器

怎么办呢,

1)第一步:创建一个导航控制器

通知

上午呢,可能没给大家说,那我们这里直接写了啊,

UINavigationController *

通知

UINavigationController *nav = [[UINavigationController alloc] init];

通知

2)把这个nav设置为窗口的根控制器

self.window.rootViewController = nav;

通知

这样写,可以吗,

可以的啊,上午的话,我们没有说那种简单的操作啊,比如说,我直接UIViewController

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

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

相关文章

unity学习笔记08

一、预制体 在Unity中,预制体(Prefab)是一种特殊类型的游戏对象,它允许你创建、配置和保存一个对象,然后在场景中多次使用。预制体的使用使得开发者能够更加灵活和高效地设计和管理游戏对象。 1.创建预制体 可以选择…

在很多nlp数据集上超越tinybert 的新架构nlp神经网络模型

在很多nlp数据集上超越tinybert 的新架构nlp神经网络模型 网络结构图测试代码网络结构图 测试代码 import paddle import numpy as np import pandas as pd from tqdm import tqdmclass FeedFroward(paddle.nn.Layer):

专业的调查问卷平台推荐:提升数据收集与分析效率

无论是学生还是职场人士,想做好一份调查问卷,关键先要确定调查的主题,然后确定调查人群,编辑问题,最后能够尽可能的美化问卷调查的主题。 想要做到这几点,就要要求问卷调查平台: 1、能够帮助你快速制作出一…

TA-Lib学习研究笔记(一)

TA-Lib学习研究笔记(一) 1.介绍 TA-Lib,英文全称“Technical Analysis Library”,是一个用于金融量化的第三方库,涵盖了150多种交易软件中常用的技术分析指标,如RSI,KDJ,MACD, MACDEXT, MACDFIX, SAR, SAREXT, MA,SM…

Ubuntu16.04.4系统本地提权实验

目录 1.介绍: 2.实验: 3.总结: 1.介绍: 1.1:eBPF简介:eBPF(extendedBerkeleyPacketFilter)是内核源自于BPF的一套包过滤机制,BPF可以理解成用户与内核之间的一条通道,有非常强大的…

免费好用的伪原创工具推荐,都是国内的人工智能AI

在当今数字化信息爆炸的时代,创作者们为了在激烈的竞争中脱颖而出,常常需要花费大量时间来创作独特的内容。然而,有时候时间并不是每个人都拥有充足的资源。于是,一些免费智能伪原创工具成为了许多创作者的利器,能够在…

fastReID论文总结

fastReID论文总结 fastReIDReID所面临的挑战提出的背景概念:所谓ReID就是从视频中找出感兴趣的物体(人脸、人体、车辆等)应用场景:存在的问题:当前的很多ReID任务可复用性差,无法快速落地使用解决方式&…

将原生Spring项目中某些配置文件中的易变内容参数化

😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783…

Making Reconstruction-based Method Great Again for Video Anomaly Detection

Making Reconstruction-based Method Great Again for Video Anomaly Detection 文章信息: 发表于ICDM 2022(CCF B会议) 原文地址:https://arxiv.org/abs/2301.12048 代码地址:https://github.com/wyzjack/MRMGA4VAD…

PM2 在线和离线部署uvicorn和fastapi项目过程

PM2介绍 PM2 is a daemon process manager that will help you manage and keep your application online 24/7 PM2是一个后台进程管理工具,能帮助管理应用和维持应用7*24小时运行。 PM2在线安装 npm install pm2 -gPM2离线安装(适用于内网) 参见 如何离线安装pm2…

Error running OrderServiceBoot. Command line is too long.

微服务启动不成功,报Error running OrderServiceBoot. Command line is too long. Shorten the command line via JAR manifest or via a classpath file and rerun. 解决: 方法一: 右上角启动小三角 -->Edit configuration–>-右侧…

接单平台在精不在多,劝诸位程序员找个好平台!

程序员想找兼职搞副业,结果知乎上逛了一大圈,各种平台推荐,可以说是眼花缭乱。要么就是平台一搜,各种劝退!好好好,就问一句,还搞不搞?Of course~有钱还不赚的是傻子。加班摸鱼的时候…

多线程(初阶四:synchronized关键字)

目录 一、加锁的目的 二、加锁和解锁 三、加锁后是否会出现线程安全问题 1、两个线程,针对不同对象加锁 2、一个线程加锁,一个线程不加锁 3、针对加锁操作的一些混淆理解 (1)多个线程调用同一个类的方法,对其方…

(一)基于高尔夫优化算法GOA求解无人机三维路径规划研究(MATLAB)

一、无人机模型简介: 单个无人机三维路径规划问题及其建模_IT猿手的博客-CSDN博客 参考文献: [1]胡观凯,钟建华,李永正,黎万洪.基于IPSO-GA算法的无人机三维路径规划[J].现代电子技术,2023,46(07):115-120 二、高尔夫优化算法GOA简介 高尔夫优化算法…

8、CobaltStrike使用

文章目录 一、实验拓扑图二、实验步骤 一、实验拓扑图 二、实验步骤 1、登录"Kali"操作机,在终端中进入CS文件夹,然后使用命令chmod x teamserver给teamserver文件赋予执行权限,然后查看当前主机的本地IP地址。 2、启动服务端服务…

关于图像识别,你不得不知的三大要点

图像识别的重要性 图像识别不仅可以加速处理繁琐的任务,而且还可以比人工图像检查更快速或更准确地处理图像。图像识别是应用于诸多领域的关键技术,也是深度学习应用的主要驱动因素,如: 视觉检查:在制造过程中识别零部…

spring security 艰苦学习中

一、初次感知 1.jwt工具类 密钥secret 有点意思。 2.PasswordEncoder 对密码进行加密,在配置类中返回bean. 下面这个关于加密和解密的东西是有误导性的。

231129 刷题日报

本周值班第3天,今天终于收到二面电话,一度以为挂了。。加油卷! 今天尊重下艾宾浩斯遗忘曲线,重复下前几天看的01背包,子集背包,完全背包。 416. 分割等和子集 518. 零钱兑换 II 38min做了一道新题&#…

Aruba无线控制器新增加AP

1、将网线连接上AP的Eth端口,console线也连接上console口 2、在console后台可以看到AP获取到的IP地址 3、确认网络可以联通,通过https访问web界面 AP205默认账号密码:admin AP505账号为admin,密码为设备SN 4、右上角点击"维…

基于单片机智能液位水位监测控制系统

**单片机设计介绍, 基于单片机智能液位水位监测控制系统 文章目录 一 概要特点应用场景工作原理实现方式 系统功能实时监测控制调节报警功能数据记录与分析 总结 二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 ## 系统介绍 基于单片机…