【Autolayout案例02-距离四周边距 Objective-C语言】

一、好,来看第二个案例

通知

1.第二个案例,是什么意思呢,第二个案例,要求屏幕中间,有一个UIView

UIView,是个红色的UIView

UIView的大小,我不限定

但是无论你是什么屏幕下

这个UIView距离上边,始终是50

距离右边,始终是50,

距离下边,始终是50,

距离左边,始终是50,

通知

这个UIView,距离四周,始终是50啊,

直接设那个边界,是不是就OK了

新建一个项目,Name:005自动布局案例2-距离四周边距相等

通知

打开新建项目的storyboard,直接选中它

通知

可以把电脑的分辨率调大点儿,不然看不全吧

通知

中间放一个UIView进来

通知

这个UIView进来之后呢,给它来一个背景色

通知

给它来个红色背景色

给完红色背景色以后,

通知

给完红色背景色以后,换成其他颜色背景色,这个红色太刺眼了

通知

我要让它距离四周的距离,都是50啊

选中这个空间,我们可以把左边那个打开

通知

选中那个控件,然后打开下面这里,

通知

让它距离上边、左边、下边、右边

通知

距离给它一个固定的值

1)距离上边是多少,50

2)距离左边是i多少:50

3)距离右边是多少: 50

4)距离下边是多少:50,

通知

接下来,我这儿是不是都改成50了

上、下、左、右都勾上,表示距离上、下、左、右距离是固定的,都给它填50,表示都是50

然后,这时候,点一下,Add 4 Constraints,

把四个约束增加上

通知

增加上以后,这里看一下

还有红色箭头儿吗,没有了吧,为什么没有红色啊

难道这时候,X 、 Y 、 高 、 宽 、 都确定了吗

你距离左边的值固定了:是不是X确定了

你距离右边的值固定了:是不是宽度就确定了吧

距离左边,X到这儿,距离右边,宽度到这儿,是不是中间自动拉伸,是不是宽度就固定了

就是说,X 固定了,宽度 固定了

距离上边的值固定了:是不是Y值固定了

距离下边的值固定了:是不是高度固定了

所以说,距离上、下、左、右,四个值设置好以后,这个元素的X、Y、高、宽,是不是就全都固定了

然后这个时候看着是不是很不爽,

通知

问题解决一下,让它对齐

Fix

通知

我如果不解决,你想运行的话,也行

command + R

通知

上、下、左、右、是不是都是这个距离

所以说,你这儿不需要解决,但是一般人,都会解决一下,看着是不是很不爽

通知

现在看起来,距离上、下、左、右、是不是都有一段距离了

但是,事实上,现在距离上、下、左、右、这个距离,其实好像不是50,

通知

是不是上边那边距离要高点儿,

打开那个预览程序

通知

添加预览

通知
通知
通知

这样的话,我们是不是可以实现,在不同屏幕下,都可以实现,距离上、下、左、右、都有一个距离了吧

都可以实现,距离上、下、左、右、都有一个距离了吧

我现在希望把刚才那些约束都删掉,怎么办呢

选中你这个View

通知

点下边的第三个按钮,注意,上面有一个Selected Views

通知

当前选中的约束

删除所有的约束:Clear Constraints

通知

下面那个,All Views

是所有当前控制器中所有的控件,删除它们的约束

通知

刚才我们为这个控件,是不是设置了四个约束啊

你想删除这个控件的四个约束,得选中这个控件,一点上面这个Clear Constraints

通知

就把当前这个View的那几个约束,给删掉了

如果说当前控制器里面有很多个控件,你想把所有的控件的约束,都删掉,

那么这时候,点哪儿

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

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

相关文章

Nginx跳转模块——location与rewrite

一、location 1、location作用 用于匹配uri(文件、图片、视频) uri:统一资源标识符。是一种字符串标识,用于标识抽象的或物理资源文件、图片、视频 2、locatin分类 1、精准匹配:location / {...} 2、一般匹配&a…

PROFINET转DeviceNet网关普通网线能代替profinet吗

捷米JM-DNT-PN这款神器,连接PROFINET和DeviceNet网络,让两边数据轻松传输。 这个网关不仅从ETHERNET/IP和DEVICENET一侧读写数据,还可以将缓冲区数据交换,这样就可以在两个网络之间愉快地传递数据了!而且,…

虚幻引擎游戏开发过程中,游戏鼠标如何双击判定?

UE虚幻引擎对于游戏开发者来说都不陌生,市面上有47%主机游戏使用虚幻引擎开发游戏。作为是一款游戏的核心动力,它的功能十分完善,囊括了场景制作、灯光渲染、动作镜头、粒子特效、材质蓝图等。本文介绍了虚幻引擎游戏开发过程中游戏鼠标双击判…

CSDN付费专栏写作协议

一、总则 1.1、欢迎您选用CSDN付费专栏服务(“本服务”)。以下所述条款和条件即构成您与CSDN就使用本服务所达成的协议(“本协议)。本协议被视为《CSDN用户服务条款》(链接:https://passport.csdn.net/ser…

springboot+mybatis实现简单的增、删、查、改

这篇文章主要针对java初学者,详细介绍怎么创建一个基本的springboot项目来对数据库进行crud操作。 目录 第一步:准备数据库 第二步:创建springboot项目 方法1:通过spring官网的spring initilizer创建springboot项目 方法2&am…

JavaScript基础 第三天

1.for循环 2.数组的基本使用和操作 3.数组排序 一.for循环 ① 语法&#xff1a;把声明起始值&#xff0c;循环条件&#xff0c;变量值写到一起&#xff0c;让人一目了然 for(变量起始值;终止条件;变量变化量) {// 循环体 }举例&#xff1a; for (let i 0; i < 100; i)…

SQL SERVER ip地址改别名

SQL server在使用链接服务器时必须使用别名&#xff0c;使用ip地址就会把192.188.0.2这种点也解析出来 解决方案&#xff1a; 1、物理机ip 192.168.0.66 虚拟机ip 192.168.0.115 2、在虚拟机上找到 C:\Windows\System32\drivers\etc 下的 &#xff08;我选中的文件&a…

批量打印-----jsPDF将图片转为pdf,并合并pdf

注意一、 使用jspdf将图片&#xff08;jpg/jpeg/png/bmp&#xff09;转pdf&#xff08;记为pdfA&#xff09;&#xff0c;得到的pdf&#xff08;pdfA&#xff09;和需要合并的pdf(记为pdfB)类型不一致&#xff0c;需要将pdfA转为pdfB类型&#xff0c;才能合并&#xff0c;使用a…

C#与C/C++交互(1)——需要了解的基础知识

【前言】 C#中用于实现调用C/C的方案是P/Invoke&#xff08;Platform Invoke&#xff09;&#xff0c;让托管代码可以调用库中的函数。类似的功能&#xff0c;JAVA中叫JNI&#xff0c;Python中叫Ctypes。 常见的代码用法如下&#xff1a; [DllImport("Test.dll", E…

修改IDEA的idea.vmoptions参数导致IDEA无法打开(ReservedCodeCacheSize)

事发原因 Maven导依赖的时候OOM&#xff0c;因此怀疑是内存太小&#xff0c;尝试修改idea.vmoptions的参数&#xff0c;然后发现IDEA重启后打不开了&#xff0c;卸载重装后也无法打开。。。 实际上如果导包爆出OOM的话应该调整下图参数&#xff0c;不过这都是后话了 解决思路…

【从零开始学习JAVA | 第四十四篇】TCP协议中的握手与挥手

前言&#xff1a; TCP&#xff08;传输控制协议&#xff09;作为计算机网络中的重要协议&#xff0c;扮演着确保数据可靠传输的角色。在TCP的通信过程中&#xff0c;握手与挥手问题是不可忽视的关键环节。握手是指在建立连接时&#xff0c;客户端与服务器相互确认彼此的身份并…

【学习FreeRTOS】第1章——FreeRTOS入门

1.裸机与RTOS介绍 1.1.裸机与RTOS引入&#xff08;举例&#xff09; 设定情景&#xff1a;小明同学一边打游戏一边恢复女友消息&#xff0c;中途突然肚子疼要上医院 裸机的抽象表达 当紧急情况时&#xff0c;如果当前正在打游戏&#xff0c;那么小明只能打游戏和回复信息的流…

Spring 事务管理

目录 1. 事务管理 1.1. Spring框架的事务支持模型的优势 1.1.1. 全局事务 1.1.2. 本地事务 1.1.3. Spring框架的一致化编程模型 1.2. 了解Spring框架的事务抽象&#xff08;Transaction Abstraction&#xff09; 1.2.1. Hibernate 事务设置 1.3. 用事务同步资源 1.3.1…

PHP最简单自定义自己的框架创建目录结构(二)

1、mvc目录结构 2、目录解释 KJ&#xff1a;项目名称 core&#xff1a;框架核心目录 KJ.php 框架运行入口 index: 框架模块 controller:模块控制器 model:模块模型数据库操作 view:页面显示html index.php:index模块框架入口 3、index.php框架入口文件引入框架 <?php r…

【前端】jeecgboot vue3开发过程使用方法整理

【前端】jeecgboot vue3开发过程使用方法整理 //定义变量 let list ref([]) 获取当前用户信息 const { userInfo } useUserStore(); 组件 JDictSelectTag {label: "用户ID",field: userId,component: JDictSelectTag, //默认值defaultValue: userInfo.userId,co…

python 异步IO实践

1、前言 1.1 计算密集型、IO密集型 python因为自身的GIL的问题导致并发不能像java和C一样&#xff0c;但并不是说Python不能实现并发。常见的有两种&#xff1a; 计算密集型 IO密集型 计算密集型 计算密集型任务的特点是要进行大量的计算&#xff0c;消耗CPU资源&#xff0c;比…

虚拟世界探索:科技之下的未来可能性

随着科技的飞速发展&#xff0c;人们对于虚拟世界的憧憬和探索也日益加深。虚拟世界&#xff0c;那是一个超越现实的概念&#xff0c;一个充满想象力和创造力的领域。然而&#xff0c;虚拟世界究竟有可能实现吗&#xff1f;这是一个引人深思的问题。 虚拟世界&#xff0c;首先让…

Java,python,c#,js,c++搞量化交易的接口大全

股票基金api接口地址&#xff1a;https://stockapi.com.cn 不想自己写的&#xff1a;https://stockapi.com.cn 除了牛逼&#xff0c;只剩下牛逼&#xff0c;除了方便&#xff0c;只剩下方便&#xff0c;python不是唯一的量化编程语言 接口说明&#xff1a;日线macd指标 https:/…

Vue.js2+Cesium1.103.0 六、标绘与测量

Vue.js2Cesium1.103.0 六、标绘与测量 点&#xff0c;线&#xff0c;面的绘制&#xff0c;可实时编辑图形&#xff0c;点击折线或多边形边的中心点&#xff0c;可进行添加线段移动顶点位置等操作&#xff0c;并同时计算出点的经纬度&#xff0c;折线的距离和多边形的面积。 De…