【Autoresizing案例03-通过代码设置Autoresizing Objective-C语言】

news2025/1/16 1:07:05

一、通过代码实现Autoresizing

通知

1.好,那么,接下来,我们就给大家看一下,怎么来通过代码实现Autoresizing,

好,那么,接下来,我们为什么要说这个通过代码,实现Autoresizing,

那么,注意,我们能通过我们的storyboard来操作,就不要通过代码来实现,

以后的趋势,就是苹果建议我们全都使用storyboard,

点击,来实现,就不需要代码了,

不让你写代码了,

但是,现在为什么还要讲这个,

因为,你工作的时候,是不是很有可能,遇到,还是之前的项目吧,

遇到之前的项目,别人写代码,他是用代码来实现的,

那个时候,还么有storyboard,

它就通过代码来实现的,

你是不是得会改啊,

会改,所以说,目的是为了,还是,我们能,接手别人的项目,

所以,要给大家说一下,

如何通过代码来实现Autoresizing,

好,注意,给大家提醒一下,等会儿你课下,写这个案例的时候,一定要用纯代码的方式,创建每一个控件,

不要通过,拖的storyboard上,不要通过拖上来的控件,

拖上来的控件,会有一些默认的设置,这样的话,会影响你运行的效果,

所以说,你接下来,写代码,的时候,一定要像我一样,用纯代码的方式,来创建那几个子控件,

好,那么接下来,案例,

通知

案例3,是一个什么需求

注意听,案例3,是这样的一个需求,

1)首先,我要

通知

动态创建两个View,

一个是蓝色View

一个是红色View

蓝色View的宽度、高度,是200,

蓝色View距离X的距离,是0

距离Y的距离,也是0,

红色View呢,宽度是200,和蓝色View是不是一样的啊,

红色View,是在蓝色View里面的,红色View是蓝色View的子控件,

红色View的宽度,也是200,

红色View的高度,是50,

同时,红色View,紧贴住蓝色View的底边,

来显示,

是不是就像我们看到的这个效果一样,

通知

2)然后,接下来,在我们的这个控制器的View上,放一个按钮,

当点击按钮的时候,让蓝色View的高度,和宽度,累加,是不是让蓝色View的高度和宽度,都变大啊,

就外面这个蓝色View的高度、和宽度,都变大,

3)然后,要求实现:

红色View,不论蓝色View的高度和宽度,怎么变化,红色View,始终是紧贴蓝色View的底边,

并且,填充满这个宽度,来显示,

并且,红色View的高度,是不变的,

就是说,一开始是这个效果,当你点击按钮的时候,蓝色View变大,红色View,是不是始终贴住底边,来显示,并且随着蓝色View的宽度增加而增加,

红色View的高度,是不变吧,

通知

然后,接下来,我们就一起把这个来实现一下,

这个非常简单

通知

把这个,我就再给它建一个吧,这个不用了,

Name:002通过代码来实现Autoresizing

通知

好,先把屏幕大小改一下,

通知

改成3.5英寸,

好,接下来,我们现在,是不是要通过代码,动态创建两个View

二、通过代码来创建两个View

1.好,那么打开我们的控制器,

通知

在这个控制器的view,加载完毕的事件里面,

通知

我们要做的,就是创建一个蓝色的View,

//创建一个蓝色View

通知

//创建一个红色View

通知

UIView *blueVw = [[UIView alloc] init];

通知

蓝色View,是不是得设置背景色吧,

//设置背景色

通知

blueVw.backgroundColor = [UIColor blueColor ] ;

设置它的frame

//设置frame

是不是让我们能看到它啊,

注意,我说的,用了Autoresizing、Autolayout、不要设置frame,是指的:你如果通过Autoresizing、Autolayout、设置了这个,额,比如说,它的这个距离右边、距离,是不是相当于设置了它的X、和Y,了吧,

设置这个X、和Y以后,就没有必要再设置frame了,

但是,如果,比如说,你这里高度、和宽度、没有设置,

还是要通过frame,来设置,

就不是说,绝对的使用了Autoresizing、Autolayout、frame就绝对不能设置了,

不是这个意思,

是指的如果你通过Autoresizing、Autolayout、已经把这个frame里面,高、和宽、或者说,X、和Y、设置好以后,

就不需要重复

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

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

相关文章

使用Git在GitHub上部署静态页面

在GitHub中,我们可以将自己的静态页面部署到GitHub中,它会给我们提供一个地址使得我们的页面变成一个真正的网站,可以供用户访问。 一、在GitHub下创建仓库 二、将项目部署到GitHub上 1. 初始化Git仓库 2. 提交代码 3. 关联远程仓库 在Gi…

Vulnhub: BlueMoon: 2021靶机

kali:192.168.111.111 靶机:192.168.111.174 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.174 80端口目录爆破,发现文件:hidden_text gobuster dir -u http://192.168.111.174 -w /usr/sha…

二重积分1

目录 二重积分 二重积分的性质 ​编辑 中值定理 二重积分的计算 方法1:利用直角坐标计算 方法2:利用极坐标进行计算 适用于极坐标的二重积分的特征 对称性和奇偶性的应用 题目 例题1: 题目2: 题目3: 题目4&#x…

【Spring框架】Spring AOP

目录 什么是AOP?AOP组成Spring AOP 实现步骤Spring AOP实现原理JDK Proxy VS CGLIB 什么是AOP? AOP(Aspect Oriented Programming):⾯向切⾯编程,它是⼀种思想,它是对某⼀类事情的集中处理。⽐如…

C++11的range-based for loop(基于范围的循环)

2023年8月3日&#xff0c;周四上午 目录 语法举例说明 语法 for(能存放容器元素的变量:容器){//函数体 } 容器可以是数组、CSTL容器等 这个变量会自动遍历容器里面的每个元素 举例说明 #include<vector> #include<iostream>int main(){/*--------------------…

innovus: 让ndr使用自定义via def

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 让ndr 使用指定via def可以用add_ndr -via命令&#xff0c;如果现有的via list无法满足要求&#xff0c;可以用 add_via_definition -via_rule -row_col去创建。

跨境电商代运营模式,Live Market打造跨境电商出海SaaS服务平台

近年来&#xff0c;我国跨境电商发展取得可喜进展。商务部数据显示&#xff0c;跨境电商货物进出口规模占外贸比重由5年前的不足1%上升到目前的5%左右。私域流量业态在电商领域兴起&#xff0c;品牌企业在线上建立自主经营的手机应用软件直接触达用户。跨境电商的发展模式转向平…

如何在群晖nas中使用cpolar内网穿透?

如何在群晖nas中使用cpolar内网穿透 文章目录 如何在群晖nas中使用cpolar内网穿透 今天&#xff0c;我们来为大家介绍&#xff0c;如何在群晖系统中&#xff0c;使用图形化界面的cpolar。 cpolar经过图形化改造后&#xff0c;使用方法已经简便了很多&#xff0c;基本与其他应用…

Linux2.6.32.2内核在mini2440上的移植(七)添加ADC驱动

Linux-2.6.32.2内核在mini2440上的移植(七)---添加ADC驱动 【2】在内核中添加ADC 驱动 Linux-2.6.32.2 内核并没有提供支持S3C2440 的ADC 驱动程序&#xff0c;由于《移植开发实战指南》中ADC部分代码在实际测试中始终输出-1&#xff0c;而无法通过测试&#xff0c;于是结合…

离散Hopfield神经网络的联想记忆与matlab实现

1案例背景 1.1离散Hopfield神经网络概述 Hopfield网络作为一种全连接型的神经网络,曾经为人工神经网络的发展开辟了新的研究途径。它利用与阶层型神经网络不同的结构特征和学习方法,模拟生物神经网络的记忆机理,获得了令人满意的结果。这一网络及学习算法最初是由美国物理学家…

01背包详解(二维到一维)

有 N件物品和一个容量为 V 的背包&#xff0c;每件物品有各自的价值且只能被选择一次&#xff0c;要求在有限的背包容量下&#xff0c;装入的物品总价值最大。「0-1 背包」是较为简单的动态规划问题&#xff0c;也是其余背包问题的基础。 动态规划是不断决策求最优解的过程&am…

基于Stm32的宠物自动喂食装置(包含::论文、代码、外文原文、外文翻译、手册、建模、答辩PPT、原理图等 )

基于Stm32的宠物自动喂食装置 目录 基于Stm32的宠物自动喂食装置 一、Solidworks建模部分 装置外壳 二、TLink物联网平台 1.TLINK平台配置 2.TLINK平台的功能 &#xff08;2&#xff09;定时发送指令 &#xff08;3&#xff09;自动报警 三、Stm32控制部分 1.整体流程图…

STM32 DHT11

DHT11 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。 使用单总线通信 该传感器包括一个电容式感湿元件和一个NTC测温元件&#xff0c;并于一个高性能8位单片机相连&#xff08;模数转换&#xff09;。 DHT11引脚说明 开漏模式下没有输出高电平的能…

代码调试2:coco数据集生成深度图

代码调试:coco数据集生成深度图 作者:安静到无声 个人主页 问题1:图片存在异常,跳过不处理 在获取深度图的时候,直接执代码,会产生以下错误:RuntimeError和ValueError。 因此我重新修改了代码,如果出现以下两种错误,则执行下一次循环,代码如下: 修改之后代码可以…

Day11-Webpack前端工程化开发

Webpack 一 webpack基本概念 遇到问题 开发中希望将文件分开来编写,比如CSS代码,可以分为头部尾部内容,公共的样式。 JS代码也希望拆分为多个文件,分别引入,以后代码比较好维护。 本地图片,希望可以实现小图片不用访问后端,保存在前端代码中就可以了 运行程序时我…

火山引擎DataLeap的Data Catalog系统搜索实践 (上)

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 摘要 火山引擎大数据研发治理套件 DataLeap的Data Catalog系统通过汇总和组织各种元数据&#xff0c;解决了数据生产者梳理数据、数据消费者找数和理解数的业务场景…

生产事故-记一次特殊的OOM排查

0x01 事故背景 2023年3月10日14时19分&#xff0c;C公司开发人员向A公司开发人员反映某开放接口从2023年3月10日14时许开始无法访问和使用。该系统为某基础数据接口服务&#xff0c;基于 HTTP 协议进行通信。按照惯例&#xff0c;首先排查网络是否异常&#xff0c;经运维人员检…

【NX】NX开发入门练习寻找倒圆角设置颜色和添加属性

实现功能如标题&#xff0c;当时学习nx开发用的练习题&#xff0c;用的是nx8.5的32位版本&#xff0c;对于设置属性&#xff0c;一种是可以在界面中查看的属性&#xff0c;一种是隐藏的不能再界面中查看的自定义属性&#xff08;但是可以正常读取&#xff09;。 下面是完整代码…

Netty:ByteBuf的引用计数

说明 Netty的ByteBuf有一个对它本身的引用计数。 可以通过ByteBuf的retain()增加1个引用计数&#xff0c;通过retain(int increment)增加一定数量的引用计数。 通过release()减少1个引用计数&#xff0c;通过release(int decrement)减少一定数量的引用计数。 通过refCnt()查看…

科普 | 以太坊坎昆升级是什么

坎昆升级是什么 坎昆&#xff0c;是墨西哥一个著名的旅游城市&#xff0c;也是 Devcon 3 大会的举办地&#xff0c;按照以太坊升级命名的规律&#xff0c;以地名命名的升级&#xff0c;是针对以太坊执行层的升级。 之前同样命名的还有柏林升级、伦敦升级和这次的上海升级等。…