【AutoLayout案例05-横竖屏效果 Objective-C语言】

news2024/11/16 13:43:26

一、接下来,看看这个

通知

我们一看这个效果,就知道需求了吧

需求是,无论在横屏、竖屏下:

1)首先,是不是有四个View啊

通知

无论在横屏、竖屏、下,都有这么四个View吧

这四个View的高和宽,是什么,

相等的吧

这四个View的高和宽,是相等的

那么,既然这四个View的高和宽,是相等的,也就是说,我们只要确定了一个View的高和宽,让其他三个、和它一样,是不是就OK了

然后,接下来,第一个View中,有一个图片

然后,接下来,第一个View中,有一个图片,高和宽都是100

通知

有一个图片框,高和宽都是100

并且,这个图片框,在第一个View中,水平、垂直、居中显示

并且,第一个View中,还有一个Label,这个Label是紧贴底部显示

通知

左、右、紧贴两边,然后高度是设置一个高度,紧贴底部显示

是不是基本就这么一个效果

来,咱们一起来做一下

二、实现这个案例

1.新建一个项目

把这个名称,改成案例6

通知

好,我们再新建一个项目

通知

Name:008案例6适配

通知

1)第一步:打开Main.storyboard

2)第二步:拖一个UIView过来

通知

我们除了刚才那个有点儿特殊,是一个图片以外,我们其他的是不是都是在一个四方块儿里头做啊

拽一个什么,UIView过来

通知

设置这个UIView的背景色

通知

设置为蓝色

通知

设置这个UIView,来、来、来、写约束了

通知

这个UIView,距我们,哪里,注意看屏幕

通知

第一个View,距左边、距上边,都是0,0

通知

第一个View,距左边、距上边,都是0,0

把这个勾去掉

把两个竖线选上

数值改成0,

把下拉菜单打开,看一下,选择View

通知

数值改成0

通知

好,这个是不是搞定了,点击增加

通知

这个蓝色View,距离左边、距离上边,这个X和Y是不是确定了

这个蓝色View的高和宽、是不是还没确定

如何确定这个蓝色View的高和宽呢

通知

看,这么来确定蓝色View的高和宽

通知

1)我们设置第一个控件的右边,和中线对齐,

第一个控件的左边,紧贴控制器左边,右边和中线对齐

通知

第一个控件的右边,和中线对齐

也就意味着,第一个控件的宽度,就是控制器的一半儿吧

那么,第一个控件的底边,和我们这个控制器的水平的中线对齐,证明它高度,是不是我们控制器高度的一半儿,

通知

是高度的一半儿,所以说,垂直的中线,应该是,

所以说,我们,要想让这个View的宽度,等于控制器的一半儿,

你要让这个View的高度,等于控制器的一半儿

1)首先,要设置这个View,垂直居中,水平居中,对齐吧,

2)然后,设置完这个以后,再把那个,再改一下,不是这个控件的中点,和它的那个中线对齐,而是它的右边,和中线对齐

右边线,对

通知

明白思路了吗

来,注意看,选中这个View

通知

通知

1)我首先,设置这个View,在父容器中,水平,在父容器中,水平对齐,水平居中,在父容器中,水平居中

2)在父容器中,垂直居中

通知

点击增加

好,这样的话,这个View,是不是在我们的父容器中,水平居中、垂直居中了

通知

那么,哪个是水平居中呢,注意看看

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

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

相关文章

Webgis系统调试与发布

Webgis系统调试与发布 调试方法与技巧网站发布方法 调试方法与技巧 在Web开发中,程序调试方法与技巧是开发人员必须掌握的一个重要内容,非常关键。Leaflet开发其实就是HTMLJavaScript的Web开发,其调试方法与一般的Web开发相同。 Web开发调试…

基于JSP+Servlet+Mysql停车场管理系统(含实训报告)

TOC 一、系统介绍 项目类型:Java web项目 项目名称:基于JSPServlet的停车场管理系统 项目架构:B/S架构 开发语言:Java语言 前端技术:HTML、CSS、JS、JQuery等技术 后端技术:JSP、Servlet、JDBC等技术…

Node.js+Vue家政服务保洁预约系统_ee587

各功能模块的设计也便于以后的系统升级和维护。该系统采用了软件组件化、精化体系结构、分离逻辑和数据等方法。首先,要掌握有关系统的基本理论,如 nodejs技术、 MySQL数据库等,并对其进行全面的分析。为了给系统打下坚实的技术基础&#xff…

硬核旗舰南卡OE CC开放式耳机发布,重新定义百元开放式耳机新标杆!

​随着现在健康意识的不断提高,人们对于日常用品的要求越来越高,在耳机市场中,健康因素也逐渐成为消费者所考虑的因素之一,入耳式耳机因为会引发中耳炎、耳膜炎等疾病,正在逐渐被开放式蓝牙耳机所取代,南卡…

C语言实例_文件内容加密与解密

一、加密解码功能介绍 1.1 加密解码的功能 文件内容需要加密与解密功能的原因主要有两个方面:保护数据安全和确保数据完整性。 (1)保护数据安全:加密可以将文件内容转化为不可读或难以理解的形式,防止未经授权的人员…

Redis7之介绍(一)

1. 是什么 Redis:REmote Dictionary Server(远程字典服务器) Remote Dictionary Server( 远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、…

Leetcode76. 最小覆盖子串

给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果…

亲测influxdb安装为window后台服务

InfluxDB 安装 64bit:https://dl.influxdata.com/influxdb/releases/influxdb-1.7.4_windows_amd64.zip 解压安装包 修改配置文件 [meta]# Where the metadata/raft database is storeddir "D:/influxdb/meta"...[data]# The directory where the TSM…

无涯教程-进程 - 信号(Signals)

信号是对进程的通知,指示事件的发生。信号也称为软件中断,无法预知其发生,因此也称为异步事件。 可以用数字或名称指定信号,通常信号名称以SIG开头。可用信号kill –l(列出信号名称为l)检查可用信号,如下所示- 无论何…

【Qt学习】05:自定义封装界面类

OVERVIEW 自定义封装界面类1.QListWidget2.QTreeWidget3.QTableWidget4.StackedWidget5.Others6.自定义封装界面类-显示效果(1)添加设计师界面类(2)在ui中设计自定义界面(3)在需要使用的界面中添加&#xf…

ModaHub魔搭社区:经营大脑经营沙盘

目录 WinPlan经营大脑经营沙盘介绍 WinPlan经营大脑经营沙盘展示 WinPlan经营大脑经营沙盘设计器 WinPlan经营大脑经营沙盘介绍 经营沙盘是面向企业管理层,展示企业经营状况。可基于不同场景创建不同沙盘,用于分析不同的数据,包括销售数据、财务数据等。 企业经营决策系…

吉客云与金蝶云星空对接集成分页查询出库单打通分布式调出单新增

吉客云与金蝶云星空对接集成分页查询出库单打通分布式调出单新增 接通系统:吉客云 “吉客云”是一站式企业数字化解决方案系统,可实现业务、财务、办公、人事等一体化管理。相对于传统多套软件系统的集成方案,“吉客云”具有业务流程更流畅&a…

《Python基础教程》专栏总结篇

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。…

ctfshow web入门 php特性 web108-web112

1.web108 strrev() 反转字符串 <?php echo strrev("Hello world!"); // 输出 "!dlrow olleH" ?> ereg 存在空字符截断(只会匹配%00前面的字符)&#xff0c;这个函数匹配到为true&#xff0c;没有匹配到为false,877为0x36d的十进制数值 payload: …

【微服务】06-安全问题

文章目录 1.反跨站请求伪造1.1 攻击过程1.2 攻击核心1.3 如何防御1.4 使用AntiforgeryToken机制来防御用到的类 2. 防开发重定向共计2.1 攻击过程2.2 攻击核心2.3 防范措施 3.防跨站脚本3.1 攻击过程3.2 防范措施 4.跨域请求4.1 同源与跨域4.2 CORS过程4.2 CORS是什么4.3 CORS请…

解决问题的步骤

得到曲铠的课程学习。 个人感觉前面几节如明确和理解问题&#xff0c;拆分问题&#xff0c;挺好的。 后面就是水分很大&#xff0c;感觉有点烂尾了。 拆分和定期问题&#xff0c;这个指导意义还是很大的。 本质上思路还是有很多学习的地方&#xff0c;更加明确了&#xff0…

nodejs+vue+elementui健身房教练预约管理系统nt5mp

运用新技术&#xff0c;构建了以vue.js为基础的私人健身和教练预约管理信息化管理体系。根据需求分析结果进行了系统的设计&#xff0c;并将其划分为管理员&#xff0c;教练和用户三种角色&#xff1a;主要功能包括首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;教…

Tomcat和Servlet基础知识的讲解(JavaEE初阶系列16)

目录 前言&#xff1a; 1.Tomcat 1.1Tomcat是什么 1.2下载安装 2.Servlet 2.1什么是Servlet 2.2使用Servlet来编写一个“hello world” 1.2.1创建项目&#xff08;Maven&#xff09; 1.2.2引入依赖&#xff08;Servlet&#xff09; 1.2.3创建目录&#xff08;webapp&a…

java-线程之间共享数据

1. 如何在两个线程之间共享数据 Java 里面进行多线程通信的主要方式就是共享内存的方式&#xff0c;共享内存主要的关注点有两个&#xff1a;可见性和有序性原子性。Java 内存模型&#xff08;JMM&#xff09;解决了可见性和有序性的问题&#xff0c;而锁解决了原子性的问题&a…