【autoresizing案例 Objective-C语言】

news2024/9/24 17:20:27

一、autoresizing案例

通知

1.在介绍autoresizing之前,告诉大家,这个只是介绍,以后不要用这个东西,都用autolayout

还有一个非常重要的就是,使用autoresizing,就不能用autolayout,反之亦然

通知

2.我们来看一个案例,看一个什么案例呢,看这么一个案例,

大家先看我这个的要求:

1)在控制器的view的四个角放四个高宽都为100的UIView

2)让这四个UIView始终,不论在什么样的屏幕下,都可以正确显示在四角

我们使用autoresizing来实现

新建一个项目

通知
通知

假设,我打开我们的控制器

通知

Main.storyboard

通知

选中这个,控制器

先把它设成3.5英寸吧

通知

模拟器改成iPhone4S

通知

好,现在是不是有一个控制器了

然后,接下来,我要在控制器的上边,怎么讲,西北角,西南角,额,左上角,是吧

来来来,注意,我这里是不是放了个View上来

通知

放了个View上来

通知

View的宽和高,都是100

通知

好,然后呢,我设置这个View的背景色,黄色

通知

然后呢,这个View,是不是显示到左上角了

好,现在这个View显示到左上角了

然后呢,接下来,在四个角,分别放四个

选中它,按住option键,拖

通知

是不是右上角有一个

通知

拖,右下角有一个吧,

通知

左下角是不是也有一个

通知

为了看的清楚点儿,每一个颜色,都各不相同

通知

好,现在这个屏幕的

通知

四个角上,是不是都有这四个小方块儿了

来,这个时候,我们command + R,运行一下,

大家说,这个时候,有没有问题,

这,是不是就是咱们之前设置frame的方式啊

直接设置好了,直接设置好了,咱们运行一下,

在3.5英寸,iPhone4S下,看看效果对还是不对,

通知

看看

通知

这个时候,是不是看起来,非常好

在我们上下左右四个角,看起来非常好,也就是说,咱们之前在做的那些案例程序,是不是都是现在这个效果,看起来非常好,但是咱们之前那些程序,你从来没有试过,按住command键 + 按一下方向键右

是不是屏幕变成横屏了

通知

按住command + 方向键右,是不是屏幕打横了

屏幕变成横屏以后,还是那个效果吗

我们要的是,屏幕变成横屏以后,也要是左上角显示黄色方块儿,右上角显示蓝色方块儿,左下角显示紫色方块儿,右下角显示红色方块儿吧

我们要的是,不论屏幕是竖屏,还是横屏,都是要求四个角显示不同颜色的方块儿啊

因为,现在我们用的frame,是写死了,没有去设置屏幕适配,

那么,你下面,这个红色方块儿,它始终的Y值,是多少,

通知

是不是380 , 啊

当屏幕变成横屏以后,Y值380,是不是跑到屏幕外边了

通知

是不是看不到了,

这样的话,是不是没有做屏幕适配,就一个4英寸的屏幕,我横屏以后,是不是效果就不对了,

那么,我接下来,把它换成其他屏幕,看它对不对

通知

现在iPhone4S,是不是3.5英寸的,

我把模拟器换成iPhone5S,4英寸,

我们看看它在4英寸屏幕下,看看那个效果,又是什么效果

这样进行预览,是不是很不爽,是不是每次要等很长时间

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

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

相关文章

如何安装、部署、启动Jenkins

一、测试环境 Linux系统 Centos 7 二、安装步骤: 1、安装jdk 我安装的是jdk8,此处就不多说了,自己百度哈,很简单 2、安装jenkins 首先依次执行如下三个命令: 2.1、导入镜像: [rootcentos7 ~]# sudo …

《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(18)-Fiddler如何接口测试,妈妈再也不担心我不会接口测试了

1.简介 Fiddler最大的优势在于抓包,我们大部分使用的功能也在抓包的功能上,fiddler做接口测试也是非常方便的。 领导或者开发给你安排接口测试的工作任务,但是没有给你接口文档(由于开发周期没有时间出接口文档)&…

小程序商品如何上传视频

小程序商品展示的方式在不断创新,除了传统的图片展示,视频成为了吸引用户注意力的重要方式之一。今天就讲解一下,商家怎么上传商品视频。 1. 商家需要准备好商品视频。商家可以自己拍摄商品的使用演示视频、产品介绍视频等,也可以…

Linux部署jar包,隐藏命令行参数

Linux部署jar包,隐藏命令行参数 一、背景需求二、查阅资料三、实现隐藏库3.1、测试test.c3.2、设置隐藏库3.3、验证 四、应用jar启动命令五、直接应用结果 最新项目安全检测,发现配置文件中数据库密码,redis密码仍处理明文状态 于是整理了一篇…

做软件测试,掌握哪些技术才能算作“测试大佬”?

一、过硬的基础能力 其实所有的测试大佬都是从底层基础开始的,随着时间,经验的积累慢慢变成大佬。要想稳扎稳打在测试行业深耕,成为测试大牛,首当其冲的肯定就是拥有过硬的基础,所有的基础都是根基,后期所…

【应用层】HTTPS协议详细介绍

文章目录 前言一、什么是"加密"二、常见的加密方式三、数据摘要(数据指纹)四、证书总结 前言 HTTPS也是一个应用层协议,是在HTTP协议的基础上引入了一个加密层,由于HTTP协议内容都是按照文本的方式明文传输的&#xff…

【外卖系统】修改菜品

需求分析 在菜品管理列表页面点击修改按钮,跳转到修改页面,在修改页面回显菜品相关信息并进行修改,在最后点击确定按钮完成修改操作 代码设计 页面发送ajax请求,请求服务端获取分类数据,用于菜品分类下拉框中数据显…

【Unity学习笔记】对象池

文章目录 设计思路总体设计从生命周期考虑 一些代码 对象池这个东西老生常谈了,使用它的好处在于:当我们需要重复创建或者销毁一些物体,例如限制子弹数量上限为10发,当射出第11发就需要使第10发消失,第11出现。销毁10号…

vue中人员导出功能实现

大纲: 1、导出定义的export.js文件 代码展示 import axios from axios //导出一 export const exportExcel (url, params, name, type post) > {// url url路径 params 查询参数 name 文件名 type 请求方式axios[type](url, params, {responseType: blob,}).t…

微信小程序多码融合

1、多码融合实现 如果需要实现扫码关注、跳转页面、扫码充电以及第三方融合扫码充电的需求,通过“扫普通链接二维码打开小程序” 的功能采用hlht协议的方式进行融合,使用代码生成新的二维码,二维码内容格式如下: hlht://9900000…

性能测试基础知识(三)性能指标

性能测试基础知识(三)性能指标 前言一、时间特性1、响应时间2、并发数3、吞吐量(TPS) 二、资源特性1、CPU利用率2、内存利用率3、I/O利用率4、网络带宽使用率5、网络传输速率(MB/s) 三、实例场景 前言 性能…

ES6系列之let、const、箭头函数使用的坑

变量提升块级作用域的重要性箭头函数this的指向rest参数和arguments 1.ECMAScript与Js的关系 2.Babel转码器 Babel是一个广泛使用的ES6转码器,可以将ES6代码转为ES5代码,从而在老版本的浏览器执行。这意味着,你可以用ES6的方式编写程序&…

MyBatis的使用方法

文章目录 一、MyBatis的创建准备工作 二、MyBatis的使用1.项目分层2.业务代码1&#xff09;使用XML的方法2&#xff09;直接使用注解 总结 一、MyBatis的创建 准备工作 1.添加依赖 旧项目 方法一&#xff1a;在pom.xml中添加MyBatis和MySQL Diver依赖 <!-- 添加 MyBati…

QC API全系列揭秘之Test Execution操作(全网首发)

目录 一、QC简介&#xff1a; 二、写作目的&#xff1a; 三、解决问题&#xff1a; 四、本文重点&#xff1a; 五、QC接口规范&#xff1a; 六、QC接口操作Test Execution&#xff1a; 定义全局变量 QC服务器连接、登录&#xff08;身份验证&#xff09;及项目连接 重点…

小程序商城系统的开发方式及优缺点分析

小程序商城系统是一种新型的电子商务平台&#xff0c;它通过小程序的形式为商家提供了一种全新的销售渠道&#xff0c;同时也为消费者提供了一种便捷的购物体验。小程序商城系统具有低成本、快速上线、易于维护等特点&#xff0c;因此在市场上受到了广泛的关注和应用。这里就小…

【设计模式——学习笔记】23种设计模式——模板方法模式Template Method(原理讲解+应用场景介绍+案例介绍+Java代码实现)

介绍 基本介绍 模板方法模式&#xff0c;又叫模板模式&#xff0c;在一个抽象类中定义了一个执行它的其他方法的公开模板方法&#xff0c;子类可以按需重写抽象类的抽象方法简单说&#xff0c;模板方法模式 定义一个操作中的算法&#xff08;或者说流程&#xff09;的骨架&am…

Vue引入

1. vue引入 第一种方法&#xff1a;在线引入 <script src"https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> 第二种方法&#xff1a;本地引入 2. 语法学习 el用于绑定id&#xff0c;data用于定义数据如下例题 <!DOCTYPE html> <html…

xinput1_4.dll丢失的解决方法,三种解决方法分享

xinput1_4.dll是一个动态链接库文件&#xff08;DLL&#xff09;&#xff0c;它是Microsoft DirectX的一部分&#xff0c;用于处理游戏控制器输入。当你的电脑提示xinput1_4.dll文件丢失时&#xff0c;意味着与这个文件相关的游戏或应用程序无法正常运行。 当你的电脑提示xinp…

正负样本分配策略(OTA, SimOTA,TAS)

文章目录 OTASimOTATALATSS OTA 论文&#xff1a;《OTA: Optimal Transport Assignment for Object Detection》 代码&#xff1a;Megvii-BaseDetection/OTA 标签分配算法 目标CNN-based的目标检测器是预测 pre-defined anchors 的类别 (cls) 以及偏移量 (reg) 。 为了训练目标…

go 结构体 - 值类型、引用类型 - 结构体转json类型 - 指针类型的种类 - 结构体方法 - 继承 - 多态(interface接口) - 练习

目录 一、结构体 1、python 与 go面向对象的实现&#xff1a; 2、初用GO中的结构体&#xff1a;&#xff08;实例化一个值类型的数据&#xff08;结构体&#xff09;&#xff09; 输出结果不同的三种方式 3、实例化一个引用类型的数据&#xff08;结构体&#xff09; 4、…