【AutoLayout案例04-游戏图片-按钮适配 Objective-C语言】
一、好,我们再看一个案例,
刚才,这个案例,
这么一个案例
这个案例,是什么意思呢,
这里给大家做一个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
相关文章:

【AutoLayout案例04-游戏图片-按钮适配 Objective-C语言】
一、好,我们再看一个案例, 刚才,这个案例, 这么一个案例 这个案例,是什么意思呢, 这里给大家做一个3.5英寸、4.0英寸的屏幕适配, 因为我们这里图片,只有一个,就是4英寸的这么一个图片 什么意思呢,要求我们在3.5英寸的屏幕、和4英寸的屏幕的时候,都能正常显示这个图…...

Spring Boot业务系统如何实现海量数据高效实时搜索
1.概述 我们都知道随着业务系统的发展和使用,数据库存储的业务数据量会越来越大,逐渐成为了业务系统的瓶颈。在阿里巴巴开发手册中也建议:单表行数超过500万行或者单表容量超过2GB才推荐进行分库分表,如果预计三年后数据量根本达…...

面向对象的设计原则
设计模式 Python 设计模式:对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。每一个设计模式系统地命名、解释和评价了面向对象系统中一个重要的和重复出现的设计 面向对象 三大特性:封装、继承、多态 …...

前端需要理解的工程化知识
1 Git 1.1 Git 常见工作流程 Git 有4个区域:工作区(workspace)、index(暂存区)、repository(本地仓库)和remote(远程仓库),而工作区就是指对文件发生更改的地方ÿ…...

【Terraform学习】使用 Terraform创建DynamoDB添加项目(Terraform-AWS最佳实战学习)
本站以分享各种运维经验和运维所需要的技能为主 《python》:python零基础入门学习 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8》暂未更新 《docker学习》暂未更新 《ceph学习》ceph日常问题解…...

基于单片机教室人数实时检测系统
一、系统方案 主程序中main函数主要是引脚的初始化,给单片机引脚初始化,初始化LCD1602,初始化红外对管,通过对LCD1602赋值,采集进入教室的人数,显示在LCD1602上面进出人数我们采用按键的形式,检…...

alibabacloud的简单使用,nacos配置中心+服务中心。作者直接给自己写的源码
文章目录 依赖关键主要的程序启动文件配置文件bootstrap.yml依赖文件nacos配置中心上的文件截图 启动成功截图参考文档 依赖关键 SpringBoot版本和com.alibaba.cloud版本需要对应,不然会程序会启动失败作者使用的版本 SpringBoot: 2.1.6.RELEASE alibabacloud: 2.…...

Python爬虫:一个爬取豆瓣电影人像的小案例
从谷歌浏览器的开发工具进入 选择图片右键点击检查 
STM32CubeMX配置STM32G0 Standby模式停止IWDG(HAL库开发)
1.打开STM32CubeMX选择好对应的芯片,打开IWDG 2.打开串口1进行调试 3.配置好时钟 4.写好项目名称,选好开发环境,最后获取代码。 5.打开工程,点击魔术棒,勾选Use Micro LIB 6.修改main.c #include "main.h"…...

39.RESTful案例
RESTful案例 准备环境 Employee.java public class Employee {private Integer id;private String lastName;private String email;//1 male, 0 femaleprivate Integer gender; } //省略get、set和构造方法EmployeeDao.java package com.atguigu.SpringMVC.dao;import com.…...

Power Pivot 实现数据建模
一、简介 Excel中的透视表适合小规模数据;如果想在稍微大一些的数据中进行高性能透视表分析,就要使用Power Pivot;再大一些数据,可能就需要大数据分析服务来进行分析。 Power Pivot,可以让没有技术背景的企业业务人员…...

Ansible自动化运维之playbooks剧本
文章目录 一.playbooks介绍1.playbooks简述2.playbooks剧本格式3.playbooks组成部分4.运行playbooks及检测文件配置 二.模块实战实例1.playbooks模块实战实例2.vars模块实战实例3.指定远程主机sudo切换用户4.when模块实战实例5.with_items迭代模块实战实例6.Templates 模块实战…...

Docker - Docker安装MySql并启动
因为项目需要连接数据库,但是远程服务器上的mysql我不知道账户和密码,这个时候便是docker发挥作用的关键时刻了! 目录 docker安装安装gcc卸载老docker(如有)安装软件包设置镜像仓库更新yum软件包索引安装docker启动doc…...

SQL Server 2019导入txt数据
1、选择导入数据 2、选择Flat file Source 选择文件,如果第一行不是列名,就不勾选。 3、下一步 可以看看数据是否是对的 4、下一步 选择SQL server Native Client 11,数据库选择导入进的库 输入连接数据库的名字和要导入的数据库 下一…...

科研 | Zotero导入无PDF的参考文献、书籍
最近在用Zotero在Word中插入参考文献的时候发现,有些没在网上找到对应的PDF版本,但也不是必须要PDF版本的参考文献或者参考书籍,如何才能不影响正常的文献排版 主要是先在网上找到对应文献,书籍,网页等的ISBN…...
【Docker】docker入门之dockerfile编写
文章目录 前言一、docker是什么?docker介绍docker指令 二、docker有什么用?三、docker怎么用?FROMMAINTAINERRUNENVWORKDIRCOPY、ADDUSEREXPOSE实例 四、docker注意事项docker容器中使用某些宿主机设备时需要额外的权限docker容器中文件内容中…...

javaee之黑马乐优商城1
问题1:整体的项目架构与技术选型 技术选型 开发环境 域名测试 如何把项目起来,以及每一个目录结构大概是什么样子 通过webpack去启动了有个项目,这里还是热部署,文件改动,内容就会改动 Dev这个命令会生成一个本地循环…...

滴滴前端一面面经(已挂)
面试过程 前段时间面试了滴滴的前端实习岗位,大厂的面试机会很难得,复习了很多前端知识。 拿到面试机会,是在地铁上投递了boss,当时hr看了我的简历就和我约了第二天的面试。电脑也没带,晚上就用手机复习了前端的一些…...

靠谱的适合上班族做的副业,这几种一定要试试!
作为上班族,我们的时间常常被工作和日常生活所占据,很少有机会去追求自己的兴趣和创造额外的收入来源。然而,副业是一种理想的选择,可以帮助我们实现多样化的发展,并在经济上取得一定的突破。正如书中所言:…...

VSCode连接服务器
Pycharm连接服务器参考我的另一篇文章Pycharm远程连接服务器_pycharm进入服务器虚拟环境终端_Jumbo星的博客-CSDN博客 本质上Pycharm和VSCode都只是IDE,没有什么好坏之分。但是因为Pycharm连接服务器(准确来说是部署)需要买professional。而…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...

学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...