第一章 ------ AutoYout介绍

1.使用自动布局的好处:

    (1)让两个视图进行尺寸匹配,使两个视图始终保持相同的宽度

    (2)无论父视图如何改变,视图都可以相对于父视图居中

    (3)拜放一行视图时将几个视图的底部对齐

    (4)将两个视图偏移一定的距离

    (5)将两个视图的底部绑定,当移动时两个视图都会同时移动

    (6)防止图像视图在按自然大小看不到完整内容时收缩成一个点(即不压缩图像也不剪切视图的内容)

    (7)显示按钮时旁边不能有太多的补白

2.内容驱动的布局

    (1)就是根据视图的内容进行布局

    (2)当视图内容(如大小、位置形状)发生改变时,布局也要随之进行改变

3.优先级规则

    (1)设计时,不仅仅要指定每个视图的布局质量,而且要排除它们的优先级顺序,当规则发生冲突的时候可以根据优先级排序选择最重要的布局质量来保护。

    (2)例如:按钮的最小窗口尺寸设置高于其他尺寸设置的请求,,,这样可以强制性的设定一个自然的最小窗口尺寸,防止窗口进一步缩小

4.约束

    (1)使用约束的类是NSLouyout

    (2)可以指定视图属性的关系,如高、宽、位置和中心点

5.充分性

    (1)布局必须要遵守四个规则,位置和长宽(x,y,长,宽)

6.约束属性

    (1)属性:在约束系统中为名词,用来 描述视图对齐矩形内的位置

    (2)关系:是动词,指出如何将不同的属性进行相互比较

    (3)当设置国际化应用程序时,尽量多使用前和后的术语,不用左和右,因为有一些语言是从右到左来对待的

7.关于那些丢失的图像

    (1)欠约束和规则不完整都会导致视图丢失

    (2)欠约束的视图没有为auto layout提供构建视图所需的足够信息,因此它通常默认大小为0

8.追踪丢失的视图

    (1)方法是在预期它们出现之后检查阿门的几何形状,例如使用viewdidappear:awakefromnib:,可以添加nsassert来描述它们的预期大小和位置。

    (2)可以调用hasAmbignousLayout来测试视图的约束是否充分。

9.内在内容大小

    (1)视图内容的大小通过每个视图的intrinsicContentSize属性来表达

NSLog(@"%@ : %@",[button titleForState:UIControlStateNormal],NSStringFromCGSize(button.intrinsicContentSize));

    (2)当改变了视图的内在内容时,需要调用invalidateIntrinsicContentSize方法,让autolayout知道在下次布局时重新计算

10.压缩阻力和内容吸附

    (1)压缩阻力高的视图能够抵抗收缩,不允许内容被剪切,阻力高内容可以被保留,阻力低的视图大小发生改变时以内容就会被压缩剪切,默认是750

    (2)内容吸附描述了视图将框架于其内容的自然大小匹配的意愿,就是内容到视图框架边缘的距离,优先级高的距离小,优先级低的距离大,空白多,默认是250

11.声明对齐矩形

    (1)可使用alignmntRectForFrame,frameForAlignmentRect,baselineOffsetFromBottom,alignmentRectInsets来表示对齐几何图的方式

    (2)需要注意的是:alignmntRectForFrame和frameForAlignmentRect必须是在数学上是互逆的,baseline是指内容视图底部对齐的水平线   

时间: 2024-11-05 06:14:14

第一章 ------ AutoYout介绍的相关文章

The Book of CSS3 中文版 第一章:介绍CSS3

在这一章,为了展示本书所用的代码约定我会介绍一些新的CSS3属性,但在此之前我想简要说明下CSS3的历史.很想然你不需要为了使用CSS3去了解它的历史,但是我认为有一些关于CSS3当前状态的背景是很重要的. CSS3是一个在变化的规范.规范的一部分被认为是稳定的并且在现代浏览器中得到了很好的实现:规范的另一部分应当作实验性的并且被部分地不同程度的实现:还有一部分则仍然是理论上的提议,并且没有得到任何实现.一些浏览器创建了它们自己的CSS属性,这些属性不属于任何CSS3规范也许将来也不会添加进去.

LTP 第一章 LTP介绍及内部机制

https://blog.csdn.net/yuanlaijike/article/details/78068331 LTP 第一章 LTP介绍及内部机制原创Jitwxs 发布于2017-09-23 03:21:58 阅读数 3993 收藏展开LTP系列链接: 第一章 LTP介绍及内部机制 第二章 开发Shell测试集 第三章 开发系统调用测试集 第四章 开发_exit()测试集 第五章 开发IO操作测试集 第六章 开发IO阻塞测试集 文章目录1.1 LTP介绍1.1.1 功能测试1.1.2 回

Delphi基本之pascal语法(第一章.pascal介绍)

第一章.pascal介绍一.pascal的基本语法单位 1.基本符号 A——Z:a——z:0——9:+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,:,.,:,..,',^ 注意:pascal语言除了能使用以上规定的基本符号外,不得使用任何其它符号. 2.保留字 AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DIWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,LABEL,MOD,NIL,

Windows PowerShell 学习---第一章 PowerShell介绍

第1章 PowerShell介绍 1.1.什么是PowerShell 2006年,微软发布一款叫做Windows PowerShell的全新脚本语言. PowerShell与命令提示符shell一样,PowerShell可以进行交互性地输入命令.也可以很容易的使用管道和重定向将文件和程序串联起来. 不过,PowerShell确是一个强大的面向对象的语言,可以用于复杂的脚本编程. 1.2.面向对象的命令shell 关于cmd 如果在命令提示符下输入dir,dir命令将会在屏幕打印出目录中的文件名.

Java 螺纹第三版 第一章Thread介绍、 第二章Thread创建和管理学习笔记

第一章 Thread导论 为何要用Thread ? 非堵塞I/O I/O多路技术 轮询(polling) 信号 警告(Alarm)和定时器(Timer) 独立的任务(Task) 并行算法 第二章 Thread的创建与管理 一.什么是Thread ? Thread是所在主机运行的应用程序任务(task). 仅仅有一个线程的样例: public class Factorial { public static void main(String[] args) { int n = 5; System.o

《Getting Started with WebRTC》第一章 WebRTC介绍

? 本章是对WebRTC做概念性的介绍. 阅读完本章后.你将对下面方面有一个清晰的理解: .  什么是WebRTC .  怎样使用它 .  哪些浏览器支持 1.1. WebRTC介绍 World Wide Web(WWW)是出如今1990年代的早期, 它是建立在使用HREF超链接的以页面为中心的模型上. 在这个网页的早期模型中,浏览器从一个网页到还有一个网页是通过更新HTML内容来实现的. 到了2000年,一种新的网页浏览方式开发出来了, 且在后面变成了一个标准.即 XMLHttpRequest

HTML+CSS基础 第一章 html介绍

1-1 代码初体验,制作我的第一个网页 欢迎来到HTML+CSS课堂,加入高端大气上档次的web前端开发团队.我们在正式学习之前,先来热热身,问候下世界,做个人生中的第一个html网页吧. 任务 请在右边编辑器的第8行,在<h1>和</h1>标签之间,输入Hello World 字符串. 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type&quo

《Spring敲门砖之基础教程第一季》 第一章 概要介绍

百度百科say: Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架.点击查看 WiKi say: Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本.该框架基于 Expert One-on-One J

第一章&#183;MySQL介绍及安装

一.DBA工作内容及课程体系 二.MySQL课程体系介绍 三.DBA的职业素养 四.MySQL简介及安装 01 什么是数据? 02 什么是数据库管理系统 03 数据库管理系统种类 04 MySQL发展史 05 MySQL正在推动世界 06 MySQL简介及产品线 06 MySQL 安装 一.DBA工作内容及课程体系 二.MySQL课程体系介绍 三.DBA的职业素养 四.MySQL简介及安装 01 什么是数据? 数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加