当前位置: 首页 > news >正文

【AutoLayout案例03-设置底部按钮之间相同间距 Objective-C语言】

一、好,咱们继续啊

通知

1.咱们继续把autoLayout介绍一下

通知

咱们的自动布局

通知

给大家介绍一下

通知

那么,自动布局呢

通知

继续咱们给大家做的案例

通知

做几个例子

通知

把这几个例子做完以后

通知

我们再给它

通知

我们再给大家说一下,如何通过代码,来实现自动布局

通知

虽然说,通过代码来实现自动布局,并不推荐

但是我们至少要会

至少要会做,就是说,

把这几个例子做完,咱们再用代码给大家写一个例子

如何用代码来实现自动布局

通知

把自动布局说完以后,紧接着,下来就是

通知

size classes

还有一个通过约束,来实现动画

然后再给大家把size classes说一下

通知

把这个size classes,再给大家说一下

通知

然后呢,把这个size classes

通知

这个说完以后

通知

说完以后

通知
通知
通知
通知
通知
通知

2.好,咱们上午,给大家说了一个,如何

通知

设置边距、以及设置边距的时候,注意两个问题:

1)一个是:设置边距的时候,注意,你要选择设置相对于谁的边距,不要这里直接点完就完了

通知

点完之后,你看一下

通知

设置是相对于谁的边距吧

把这里检查一下

2)第二个需要注意:你把这个约束

通知

Constrain to Margin

把这个勾掉,不然的话,就会有一个-16的边距

OK,这就是这两个需要大家注意的地方

3.好,那么把这个说完以后

接下来,我们继续看另外一个问题

就是我们的另外一个案例

我们试着把这个案例做一下

通知

这个案例,就是我们在屏幕的底部,在屏幕的最底部,有两个按钮

这两个按钮呢,宽度相等,高度也相等

并且,这两个按钮,中间的间距,是不是也相等

当我们的屏幕,横屏、或者说换不同屏幕的时候

要求,这两个按钮始终在屏幕的底边,显示

然后呢,当屏幕横屏以后

这两个蓝色、红色、按钮的之间的间距是20

保持不变

明白,我们接下来,就把这个部分给大家实现一下

大家先想一下,如果是你,你会怎么做

1)新建一个项目

2)Main.storyboard是不是有一个控制器

3)600 乘 600 的那个,别改它

4)然后呢,拽一个按钮,设置一些约束

5)再拽一个按钮,再设置一些约束

6)是不是就好了

但是,设置哪些约束呢

距离左边,距离底边、距离下边、距离上边、

是不是要设置一些,想想

先拽一个按钮,怎么样、怎么样、怎么样、

再拽一个按钮,怎么样、怎么样、怎么样、

来,想完以后,接下来,一起看一下

这个该怎么做

通知

4.新建一个项目

通知

新建

通知

Name:006自动布局案例-底部按钮相同间距

通知

创建好这个项目以后,我们打开这个Main.storyboard文件

通知

这就是我们那个控制器

首先,我们是不是要在控制器里面,拽两个按钮

先拽一个按钮

通知

然后呢

通知

我们先设置这一个按钮吧

哎,其实不需要按钮,View,是不是就可以了

按钮是不是还得有文字,我们直接来两个View,设置这个效果,就OK了吧

通知

OK,来两个View,就可以了

通知

拽一个View过来,好大,来,改一下它的背景色

通知

红色

通知

通知

OK,然后,改一下它的大小

通知

其实我这儿根本不需要改大小,我直接设完约束以后,更新一下,是不是就OK了

那我不改大小

看一下,怎么来更新

首先,设置我们这个红色View,首先,选中这个红色View

通知

注意,我这里给它起一个名儿

这里标记一下

方便等会儿观察,对吧

“红色View”

通知

来,设置它,设置它距离底边吧

通知

我们说,这个View,是不是距离这里是20,距离下边,也是20

通知

所以说,这个红色View,距离左边、和距离下边,都是20吧

好,选中它

通知

相关文章:

【AutoLayout案例03-设置底部按钮之间相同间距 Objective-C语言】

一、好,咱们继续啊 1.咱们继续把autoLayout介绍一下 咱们的自动布局 给大家介绍一下 那么,自动布局呢 继续咱们给大家做的案例 做几个例子 把这几个例子做完以后 我们再给它 我们再给大家说一下,如何通过代码,来实现自动布局 虽然说,通过代码来实现自动布局,并不推荐 但…...

代码随想录算法训练营20期|第七天|哈希表part02|454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和 ● 总结

454.四数相加II 比较巧思的解法,先把nums1 和nums2的数两两相加,并存储sum和次数 再在nums3和nums4里找对应和sum和为0的数值i,j Time: N^2 Space:N^2, 最坏情况下A和B的值各不相同,相加产生的数字个数为 n^2 class Solution {public int fo…...

NavMeshPlus 2D寻路插件

插件地址:h8man/NavMeshPlus: Unity NavMesh 2D Pathfinding (github.com) 我对Unity官方是深恶痛觉,一个2D寻路至今都没想解决,这破引擎早点倒闭算了. 这插件是githun的开源项目,我本身是有写jps寻路的,但是无法解决多个单位互相阻挡的问题(可以解决但是有性能问…...

【03】基础知识:typescript中的函数

一、typescript 中定义函数的方法 函数声明法 function test1(): string {return 返回类型为string }function test2(): void {console.log(没有返回值的方法) }函数表达式/匿名函数 const test3 function(): number {return 1 }二、typescript 中 函数参数写法 1、typesc…...

ssm社区文化宣传网站源码和论文

ssm社区文化宣传网站源码和论文019 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 研究或设计的目的和意义: (一)研究目的: 通过本次课题能够将所学的Java编程知识以及Mysql数据库知…...

Go语言工程实践之测试与Gin项目实践

Go 语言并发编程 及 进阶与依赖管理_软工菜鸡的博客-CSDN博客 03 测试 回归测试一般是QA(质量保证)同学手动通过终端回归一些固定的主流程场景 集成测试是对系统功能维度做测试验证,通过服务暴露的某个接口,进行自动化测试 而单元测试开发阶段,开发者对单独的函数…...

排查docker无法启动问题

查看Linux系统操作日志(最后200行就可以排查): tail -200f /var/log/messages...

[C++ 网络协议] 套接字和地址族、数据序列

目录 1. 套接字 1.1 在Linux平台下构建套接字 1.1.1 用于接听的套接字(服务器端套接字) 1.1.2 用于发送请求的套接字(客户端套接字) 1.2 在Windows平台下构建套接字 1.2.1 Winsock的初始化 1.2.2 用于接听的套接字(服务器端套接字) 1.2.3 用于发送请求的套接字(客户端套…...

AI 绘画Stable Diffusion 研究(八)sd采样方法详解

大家好,我是风雨无阻。 本文适合人群: 希望了解stable Diffusion WebUI中提供的Sampler究竟有什么不同,想知道如何选用合适采样器以进一步提高出图质量的朋友。 想要进一步了解AI绘图基本原理的朋友。 对stable diffusion AI绘图感兴趣的朋…...

线程池满了如何处理

某天搬砖时遇到一个问题,我创建了一个线程池执行任务,刚开始的时候还是一切,结果第二天发现有些任务没有正常执行。一看日志才发现是高峰期时线程池给我占用慢了,任务被丢掉了。 ​ 举个例子,我创建了一个线程池&#…...

Java多线程编程中的线程间通信

Java多线程编程中的线程间通信 基本概念: ​ 线程间通信是多线程编程中的一个重要概念,指的是不同线程之间如何协调和交换信息,以达到共同完成任务的目的。 线程间通信的目的 ​ 是确保多个线程能够按照一定的顺序和规则进行协作&#xff…...

write javaBean error, fastjson version 1.2.76

fastjson JSON.toJSONString 报错: > [0] JavaBeanSerializer.java->541: com.alibaba.fastjson.serializer.JavaBeanSerializer->write()> [1] JavaBeanSerializer.java->154: com.alibaba.fastjson.serializer.JavaBeanSerializer->write()>…...

Tomcat的部署及优化(多实例和动静分离)

目录 绪论 1、tomact 1.1 核心组件 1.2 什么是 servlet 1.3 什么是 JSP? 1.4 Tomcat 功能组件结构 1.5 Tomcat 请求过程 2、Tomcat 服务部署 2.1 tomcat自身优化: 2.2 内核优化 2.3 jvm 2.3.1 jvm配置 2.3.2 Tomcat配置JVM参数 2.3.3 jvm优化 3、tom…...

品牌推广革新之道:海外网红与内容营销的融合

随着数字时代的来临,品牌推广的方式正在经历着革命性的变化。传统的广告手段逐渐失去了吸引力,而内容营销正成为品牌推广的新宠儿。尤其是海外网红的崛起,不仅改变了推广方式,更重新定义了品牌与消费者之间的互动关系。本文Nox聚星…...

【 BERTopic应用 02/3】 分析卡塔尔世界杯推特数据

摄影:Fauzan Saari on Unsplash 一、说明 这是我们对世界杯推特数据分析的第3部分,我们放弃了。我们将对我们的数据进行情绪分析,以了解人们对卡塔尔世界杯的感受。我将在这里介绍的一个功能强大的工具包是Hugging Face,您可以在…...

TypeScript教程(三)变量声明

一、变量声明 变量是一种使用方便的占位符,用于引用计算机内存地址,可以将变量看做存储数据的容器 命名规则: 1.变量名称可以包含数字和字母 2.除了下划线_和美元$符号外,不能包含其他特殊字符,包括空格 3.变量名…...

【数据结构】堆的实现,堆排序以及TOP-K问题

目录 1.堆的概念及结构 2.堆的实现 2.1初始化堆 2.2销毁堆 2.3取堆顶元素 2.4返回堆的大小 2.5判断是否为空 2.6打印堆 2.7插入元素 2.8堆的向上调整 2.9弹出元素 2.10堆的向下调整 3. 建堆时间复杂度 4. 堆的应用 4.1 堆排序 4.2 TOP-K问题 1.堆的概念及结构 …...

释放马氏距离的力量:用 Python 探索多元数据分析

一、说明 马哈拉诺比斯距离(Mahalanobis Distance)是一种测量两个概率分布之间距离的方法。它是基于样本协方差矩阵的函数,用于评估两个向量之间的相似程度。Mahalanobis Distance考虑了数据集中各个特征之间的协方差,因此比欧氏距…...

【不限于联想Y9000P电脑关盖再打开时黑屏的解决办法】

不限于联想Y9000P电脑关盖再打开时黑屏的解决办法 问题的前言问题的出现问题拟解决 问题的前言 事情发生在昨天,更新了Win11系统后: 最惹人注目的三处地方就是: 1.可以查看时间的秒数了; 2.右键展示的内容变窄了; 3.按…...

策略模式实战应用

场景 假设做了个卖课网站,会员等级分为月vip、年vip、终生vip,每个等级买课的优惠力度不一样,传统的写法肯定是一堆的 if-else,现在使用策略模式写出代码实现 代码实现 策略模式的核心思想就是对扩展开放,对修改关闭…...

AI开发~OpenAI专家之路:构建企业级AI应用(第三部分·上)

第七部分:LLM应用测试与评估——确保质量的关键7.1 为什么需要测试LLM应用?大白话解释: 想象你开了一家餐厅,请了一位大厨(AI模型)来做菜。但是这位大厨有个特点——每次做出来的菜味道可能不太一样。有时候…...

零起点Python机器学习快速入门【1.0】

第 1 章 从阿尔法狗开始说起1.1 阿尔法狗的前世今生百度百科的“阿尔法狗”词条是:阿尔法狗( AlphaGo)是一款围棋人工智能程序,由谷歌( Google)旗下 DeepMind 公司的戴密斯哈萨比斯、大卫席尔瓦、黄士杰与他…...

使用curl命令直接测试Taotoken聊天补全接口的完整指南

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用curl命令直接测试Taotoken聊天补全接口的完整指南 在开发或调试大模型应用时,有时我们希望在无需依赖特定编程语言…...

Taotoken 的 Token Plan 套餐如何帮助初创项目更可控地管理大模型调用预算

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Taotoken 的 Token Plan 套餐如何帮助初创项目更可控地管理大模型调用预算 对于预算有限的初创团队或个人开发者而言,大…...

AI-7D-SATS 平台的施工蓝图:为什么企业级 Agent(智能任务角色)应用不能边试边搭?

企业级 Agent(智能任务角色)应用不是把模型接进系统就结束。它更像一项工程建设:先画清蓝图,再决定哪里用智能,哪里靠流程,哪里必须留给人确认。一、为什么企业级 Agent 不能边试边搭 很多团队第一次做 Age…...

毫米波雷达8.6米非接触生命体征监测:mmVital-Signs开源项目完整指南

毫米波雷达8.6米非接触生命体征监测:mmVital-Signs开源项目完整指南 【免费下载链接】mmVital-Signs mmVital-Signs project aims at vital signs detection and provide standard python API from Texas Instrument (TI) mmWave hardware, such as xWR14xx, xWR16x…...

通达信ChanlunX缠论插件:5分钟完成专业缠论分析的终极免费工具

通达信ChanlunX缠论插件:5分钟完成专业缠论分析的终极免费工具 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是不是经常盯着K线图却看不懂市场走势?想要掌握缠论分析技术&…...

CANoe安装总失败?别慌,这7个排查步骤帮你搞定(附Win10临时文件夹清理指南)

CANoe安装疑难全解析:从报错根源到系统级解决方案当你在实验室或办公室急切地需要启动CANoe进行总线仿真时,却遭遇安装程序反复报错,这种挫败感恐怕只有经历过的人才能体会。不同于普通应用软件,CANoe作为汽车电子开发的核心工具链…...

IPv6基础:下一代互联网协议,解决IPv4地址耗尽问题

IPv6基础:下一代互联网协议,解决IPv4地址耗尽问题📝 本章学习目标:本章介绍网络服务,帮助读者掌握常见网络服务的配置与管理。通过本章学习,你将全面掌握"IPv6基础:下一代互联网协议&#…...

告别虚拟机卡顿:在VMware里给CentOS 7最小化安装分配多少内存和CPU才够用?

虚拟机性能优化指南:CentOS 7最小化安装的资源分配策略在个人电脑上运行虚拟机时,最令人头疼的问题莫过于性能瓶颈。许多初学者在创建CentOS 7虚拟机时,常常陷入两难境地:分配过多资源会影响宿主机运行,分配过少又会导…...