【AutoLayout案例04-游戏图片-按钮适配 Objective-C语言】

news2024/11/17 3:45:42

一、好,我们再看一个案例,

通知

刚才,这个案例,

通知

这么一个案例

通知

这个案例,是什么意思呢,

通知

这里给大家做一个3.5英寸、4.0英寸的屏幕适配,

因为我们这里图片,只有一个,就是4英寸的这么一个图片

什么意思呢,要求我们在3.5英寸的屏幕、和4英寸的屏幕的时候,都能正常显示这个图片,

那么,先给大家做个什么呢,没有屏幕适配的时候,是什么样子

再让大家看一下,这个屏幕适配以后,的这么一个样子,

通知

下面,我把这个思路,再给大家捋一下

因为我们只做3.5英寸、4英寸的适配吗,所以说,这里,

1)先把控制器改成4英寸,因为我们图片,没有更大的图片了

2)再一个,就是我们设置适配的一个大致思路,首先,设置图片框水平居中,垂直居中

3)设置图片距离左右是0,高度为568

4)修改距离左右为-16(或者把Constraint勾去掉,左右依然设置为0)

5)适配第一个按钮(设置按钮的大小,距离左边5,垂直居中对齐,然后修改按钮的垂直对齐时的constant值)。

6)依次适配每个按钮,两个按钮在同一条水平线上是要设置垂直居中

通知
通知

新建一个项目

通知

Name:007游戏首页图片屏幕适配

通知

看看

通知

先把控制器改成4英寸的

然后,在控制器里面放一个图片框

通知

让这个图片框填满整个屏幕

通知

是这个

通知

home_bg

好,拷过来

通知

把这个拷过来以后,接下来,我们看一下,在我们这个控制器里面

通知

在这个图片框中,设置一下图片,是那个home_bg

通知

在当前,4英寸的这个屏幕上,我们把它改成iPhone5S

通知

在4英寸屏幕下,因为这个图片本身,就是4英寸的大小

然后呢,在我们这个4英寸的屏幕下,是不是显示是刚刚好

这里显示,是不是刚刚好

然后,再把它改成我们的3.5英寸,给大家看一下

然后呢,我把这里的启动,改成我们的iPhone4S

通知

command + R

通知

看到啥了

是不是下面这边,短了不少

上面这边,是不是还是留着,长这么多啊

看到了吗

通知

下边短了不少,上边是不是留出来不少空白啊

你说,这样不行吗

这样不行吧

这样是不是,我们下边这些按钮,就不全了吧

按钮都不全了

我们希望的效果,是什么效果呢

我们希望这里在iPhone5S、iPhone4S、在4英寸、3.5英寸下面

运行效果是什么效果呢,我们希望是这样的效果

如果说,我们现在是4英寸的主机

通知

这时候,会把我们整个这个图片,都显示出来

通知

如果是3.5英寸的屏幕,这个时候,怎么显示呢,

只显示中间这部分,就够了,

通知

这个美工做图,其实它还是挺聪明的

通知

上边是不是一堆砖头

下边是不是一堆地板

这堆地板,是不是要和不要,没啥关系

你在4英寸的屏幕上,你把它整个儿都显示出来,是不是也挺好的

你到3.5英寸下的时候,你把这个上面砖头去几块儿,下边这个地板少几块儿,是不是只显示中间这部分,也可以吧

这也是一种思路吗,这也是一种思路

所以,我们就用这种思路,做一下这个屏幕适配

我们怎么做呢,

二、屏幕适配

1.知道我现在在3.5英寸下、4英寸下、屏幕适配的思路吧

1)在4英寸下,显示整个图片

2)在3.5英寸下,只显示中间那一部分,

把上面的砖头,去掉,不要它了

把下面的地板,也去掉,不要它了

通知

你看看,在3.5英寸的屏幕下,是如何显示的

通知

在3.5英寸下,砖头一堆,下面的按钮,是不是少了

这样你就不合适了吧

我把上边的砖头去了,把下边的地板去一部分,中间的按钮,正常显示

我要的是这样的效果

2.首先,选中这个图片框

通知

让这个图片框,是不是永远是居中显示啊

无论手机怎么做,是不是它永远是居中显示啊

好,我们选中这个图片框,设置它的约束

通知

让它,水平居中、垂直居中

通知

然后,把它勾上,点增加

通知

设完水平居中、垂直居中以后,这里把它更新一下frame

通知

这里的警告,给它解决一下

通知

点击Fix Misplacement

解决完毕以后

通知

解决完毕以后,看到啥了,是不是由于这个图片本身是比较大的,直接是不是放到很大很大了

这样做,肯定不是我们想要的吧

我们要的是这个图片,距离手机屏幕两边是0,这个图片,别超过手机宽度,

这个图片,距离手机两边,是不是都是0啊

那我们就设置一下,注意看

再选中这张图片

通知

然后,让它设置距离左右的距离

通知

先把这个勾去掉

距离左边、右边的竖线选上

通知

把这个下拉菜单打开,看一下,选上View

数字改成0

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

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

相关文章

从零开始的Hadoop学习(一) | 大数据概念、特点、应用场景、发展前景

1. 大数据概念 大数据(Big Data):指 无法在一定时间范围 内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的 海量、高增长率和多样化 的 信息资产。 大数据主要解决,海量…

创新生物药-创新药物研发-发展趋势分析(一文看懂)

随着科技的不断进步和生物医学领域的快速发展,生物创新药研发成为了推动医学进步和改善人类健康的重要领域。目前生物药包含了蛋白类药物、基因疗法、抗原、细菌、病毒、真菌、酵母、生物类似药、外泌体药物、免疫疗法、可溶性受体、克隆技术、微生物技术等药物&…

【Cortex-M3权威指南】学习笔记1 - 概览与基础

介绍 三种主流 Cortex 款式 款式 A:设计用于高性能的“开放应用平台” 款式 R:用于高端的嵌入式系统,尤其是那些带有实时要求的 款式 M:用于深度嵌入的,单片机风格的系统中 指令集发展 ARM 处理器一直支持两种形式上…

10个最好的云GPU服务

随着深度学习、人工智能和机器学习等新技术的出现,云 GPU 的需求量很大。 GPU(图形处理单元)是专用处理器,用于处理计算机图形和游戏等活动所需的大量数据集和复杂计算。不过,它们现在对人工智能(A.I.&…

我们在深圳聊了聊娱乐产品怎么“玩”!

伴随着移动互联网的普及,国内娱乐社交产品呈现出多元化发展趋势。 根据相关调研显示,一般普通用户通常会同时选择至少 3 款同类娱乐社交应用作为日常休闲、社交工具。可以说,各类垂直赛道聚集了大量新老“玩家”。 在如此激烈的竞争环境下&am…

Openlayers实战:启动、取消事件的监测

在Openlayers的实际项目中,我们会用到各种地图事件,比如click,dblclick,change,loadstart … 监测的时候往往用on(‘事件名称’,回调函数)来操作,但是取消这些事件的监控怎么做呢,请参考源代码。 效果图 源代码 /* * @Author: 大剑师兰特(xiaozhuanlan),还是大剑师…

Java百度提前批面试题

今天分享百度提前批的 Java 后端开发面经,整体上考察的点挺多的,主要重点考察了网络i/o、网络协议、linux系统、mysql,Java 问的不多,可能是百度的后端开发的语言不是主要以 Java 为主,所以重点看面试者的计算机基础是…

删除重复记录但保留其中一行数据的sql写法

欢迎关注微信公众号:互联网全栈架构 数据库表中存在重复记录的场景并不罕见,导致这种情况的原因可能是进行了数据迁移,或者程序代码有bug(比如并发情况没有处理好),或者在测试库中手动插入了重复数据&#…

问道管理:证券代码是什么?有什么用?

交流炒股经历时,有些股民一时忘了股票发行公司的全称,会直接报一串数字来代替,这串数字的内容是证券代码,那么,证券代码是什么?它又起什么作用?关于这些,为大家准备了以下参考内容。…

Python-主线程控制子线程-4

需求:在Python-主线程控制子线程-3的基础上,新增使用UDP接收指令功能,代替从键盘输入指令 # 修改后的程序,主线程可以获取子线程的结果 import threading import time import queue import tracebackfrom loguru import logger i…

齐聚众力,中国移动以“百川”定乾坤

近日,由工业和信息化部、宁夏回族自治区人民政府主办的2023中国算力大会在宁夏银川举办。中国移动党组书记、董事长杨杰参加开幕式,并在大会主论坛作题为《算网筑基锻引擎 数实融合创未来》的主旨演讲。在演讲中,杨杰表示:未来&am…

牛客OJ 把字符串转换成整数

⭐️ 题目描述 🌟 O链接 https://www.nowcoder.com/practice/1277c681251b4372bdef344468e4f26e?tpId13&&tqId11202&rp6&ru/activity/oj&qru/ta/coding-interviews/question-ranking 思路: 首先需要检查第一位是否有符号位&#x…

【EA-ISET协会】Elsevier|2区智慧农业类SCIEI, 进展顺,3个月左右录用~

一、期刊简介 2区智慧农业类SCI&EI 【期刊简介】IF: 3.0-4.0, JCR2区, 中科院4区; 【检索情况】SCI&EI双检,正刊; 【终审周期】走期刊部系统,3个月左右录用; 二、征稿范围 大数据和遥感技术在智慧农业中…

Blender文件云端GPU渲染

本文介绍如何在 GPU云平台vast.ai 上渲染Blender动画的技术指南,假设你已使用 vast.ai 并知道如何启动实例,这里的重要步骤是为实例选择正确的映像。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 使用 nvidia/cuda:11.4.1-cudnn8-devel-ubuntu2…

C++信息学奥赛1138:将字符串中的小写字母转换成大写字母

#include<bits/stdc.h> using namespace std; int main() {string arr;// 输入一行字符串getline(cin, arr);for(int i0;i<arr.length();i){if(arr[i]>97 and arr[i]<122){char aarr[i]-32; // 将小写字母转换为大写字母cout<<a; // 输出转换后的字符}els…

AI教学赋能计划(大模型特辑)2023秋季学期启动申请!

AI教学赋能计划是由百度飞桨发起&#xff0c;面向高校提供产教融合人才培养方案&#xff0c;一站式助力高校复合型人才培养&#xff0c;截至目前已经培养5200名AI专业师资&#xff0c;助力484所高校开设人工智能与AIX特色课程。 2023年随着文心一言等预训练大语言模型发展&…

中国平台软件市场研究报告:OceanBase为金融行业国产分布式数据库销售额第一

近日&#xff0c;《2022-2023年度中国平台软件市场研究报告》&#xff08;以下简称“报告”&#xff09;发布&#xff0c;报告对包括数据库、操作系统等在内的平台软件市场发展进行了分析。报告指出&#xff0c;在对平台软件需求增长最快的金融行业&#xff0c;OceanBase已占据…

一文看懂 ISP pipeline

文章目录 概述什么是ISPISP实现方案 ISP PipelineISP输入行缓冲数据对齐 难理解的关键算法WDR图像压缩色调映射 Tone MappingRAW域处理镜头阴影校正 LSC降噪&#xff1a;空域滤波器 Spatial FilterBayer Demosaic 概述 什么是ISP 主流的CMOS和CCD sensor基本都是输出Bayer Mo…

金佰利Kimberly-Clark直连EDI解决方案

Kimberly-Clark 金佰利是全球健康卫生护理领域的领导者。 成立于1872年的金佰利公司是全球健康卫生护理领域的行业领导者。个人健康护理用品、家庭生活用纸和商用消费产品是金佰利公司三大核心业务。金佰利在全球35个国家设有生产设施&#xff0c;产品销往超过175个国家和地区…

真机和开发者工具如何模拟虚拟定位

二、如何模拟虚拟定位 微信开发者如何模拟虚拟定位 1、打开微信开发者工具 2、打开调试器 3、切换到Sensor 4、勾选Enable 5、填写经纬度数值&#xff0c;在线解析经纬度链接&#xff1a;【经纬度查询】在线地图经度纬度查询|经纬度地名坐标转换 6、重新编译&#xff0c…