【手动创建UIWindow Objective-C语言】

2023-11-11 01:28

本文主要是介绍【手动创建UIWindow Objective-C语言】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、上节课,我们讲了控制器View的懒加载:

通知

1.什么时候会调用这个懒加载呢,用我们直接,控制器self.view

self.view的时候:

通知

什么时候,调用它这个self.view,

就要去加载控制器的view,

self.view 加载控制器的view

通知

我们给大家演示过了,这个大家已经清楚了,我们给大家说了一个细节,就是颜色的问题,对吧,

再解释一下颜色的问题,

通知

我们在这里,hmVc“点儿”view“点儿”backgroundColor:

通知

这个执行顺序是怎么样的呢,

首先,hmVc“点儿”view,是不是就要控制器的view,

这时候,这个颜色先不说啊,颜色都还没到呢,

你先加载view,最后才是颜色,

所以呢,先看view,

view,怎么去加载呢,

先到控制器里面:

通知

loadView:

把view加载起来,

然后呢,viewDidLoad,才算这个view真实的有了,

有了之后呢,你在这里面,把它的颜色改了,改成绿色了,对吧,

在这里面,赋值了一个颜色,

通知

在这里面,赋值了一个颜色,然后,回到Delegate里面,

通知

现在,这个view,是不是才算真实的有了,

那这时候,又给了它一个颜色,红色,

改成了一个红色,

所以它最后就显示成一个红色了,

但是呢,我们在通过断点去调试的时候:

通知

最下面也加一个断点:

通知

控制器里面也加一个断点:

通知

command + R:

通知

走一个:

通知

1)创建控制器

2)设置view,的颜色是红色,

通知

hmVc“点儿”view,遇到这个“点儿”,就进到控制器里面:

3)控制器里面,执行loadView:

通知

现在是不是加载view,

4)然后呢,在viewDidLoad:里面:

通知

这个时候,我如果再跳的话,它没有再在这行停留了:

通知

没有再在这行停留了,

然后这个背景色,一赋值,

相当于直接就过了,

看着啊,一走,它就到31行了:

通知

是不是啊,直接来到31行了,

所以呢,有同学可能会有问题,这个颜色,有点儿疑问,

给大家解释清楚,

好,这是我们这一个关于这个控制器的view的懒加载,

这篇关于【手动创建UIWindow Objective-C语言】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/386608

相关文章

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

顺序表之创建,判满,插入,输出

文章目录 🍊自我介绍🍊创建一个空的顺序表,为结构体在堆区分配空间🍊插入数据🍊输出数据🍊判断顺序表是否满了,满了返回值1,否则返回0🍊main函数 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而