iOS AutoLayout自动布局中级开发教程(2)-初识autolayout

通过storyboard,我们初识一下autolayout的表现形式:

看下图,使用storyboard创建的两个控件视图:

上图中的四个圆角框内的距离值,就是约束;

比如上图的第二个视图,他的 约束是:  距离 view左边,右边界的距离,这样就确定了 宽度和水平方向上的位置,还有距离上面(第一个)视图的距离,还有高,这样就确定了 视图的高度和y轴的位置;这样就可以在一个二维空间(屏幕)中唯一的确定这个视图的位置了;

但是,需要注意的,在添加距离上一个视图下边界的约束时,第一个视图的位置一定要确定,否则 第二个视图的位置可能就是不在合适的位置了.

如何添加约束呢?不多说了直接上图:

选中一个视图之后,点击图中右下角第二个按钮即可对该视图添加约束;

如上图,添加的约束是 :距离左右边界距离 ,上边界距离上面的视图距离,高度约束;

添加完成回车,或Add 即可;

上图说明:

1.一定要先选择一个或多个边界值完成 之后再改变其值,否则可能会导致,你修改值之后再选择其他约束时,你改变的值又死灰复燃;

2.四个约束即可确定视图的位置,尽量不要重复添加,更不能冲突

3.constrain to margin 前面的钩钩去掉,否则会在 视图的左右边界留出空白区域

4.Equal Width等宽,Equal Heights等高, 也就是视图之间可以添加等宽等高的约束,A的高度可以等于B的高度

5.Aspect Ratio,希望保持的比例,比如你想尽量保持长款比为1:1可以勾选此项;与此对应的有等比缩放,后面会讲到,是现在ios布局解决方案之一

6.Align 预留的边界

7.Update Frames 尽量选择图中的方案,选择完之后就更新该视图的位置约束

至此我们就成功的对一个视图添加约束啦

说明:

边界约束,是属于 父视图上的约束;(依赖于父视图,父视图消失,该约束也就消失)

宽高约束,是属于视图本身的约束;

如何查看和修改约束?:

大家看图,就可以知道如何查看和修改约束的值了,这就是autolaout的第一次体验,更多精彩,高级部分在后续教程中!

时间: 2024-08-25 23:05:08

iOS AutoLayout自动布局中级开发教程(2)-初识autolayout的相关文章

iOS AutoLayout自动布局中级开发教程(1)-浅谈autolayout

何为autoLayout(自动布局,相对布局)? 按照我粗浅的理解,autolayout就是描述用来描述视图(控件)与视图之间的关系的一种工具; 当然,这种关系包括,子视图与子视图(如一个view上的两个button),子视图与父视图的关系(如一个Button距离他的父视图view右边界的距离);有大小关系(等高等宽),边界距离关系,有中心点(centerX 和 centerY)关系也有比例缩放(ratio)关系; autolayout的原理实际上是基于数学的一次方程求解,最终算出 约束值;按照

iOS AutoLayout自动布局中级开发教程(5)-修改约束的值,延迟加载

如何修改autolayout 约束的值? <span style="font-family:SimSun;">目前我已知的方法有5种 1.修改frame(有时候可能会不起作用,但可以做动画) 2.修改约束的float值 3.使用VisualFormat 语言 4.使用 constraintWithItem,按倍率改变   如  2x+1=Y  5.移除约束(remove at runtime),添加新的约束</span> 前面的文章已经讲到如何使用storybo

iOS AutoLayout自动布局中级开发教程(4)-label等文字自动适应大小,宽度

相比大家会经常遇到  label  或则  textfield等显示文字的  视图时,显示不全,或者无法自动 变化长度  ,自动改变字体的 设置: 今天给大家演示一下,如何 在autolayout让label 适应 不同的 宽度: 1.自动 改变字体: 首先设置好 label 的约束,包括宽高之后,默认来看 你的  label是不变了 ,但是 当遇到 文字较多时,就会出现显示不全的问题: 如图,我们设置好 Label的宽度和高度,和其他约束,固定住 label, 这是我们增加label的字数..

iOS AutoLayout自动布局中级开发教程(7)-底部顶部baseLine基线对齐

如何对多个view或者Button添加底部对齐顶部对齐等等类似的对齐约束呢?最简单的方法使用 storyboard,在后续的教程中将使用代码实现. 如下图,如何为这两个或者多个视图添加 底部对齐呢? (或者顶部对齐,左对齐,右对齐,基线baseLine对齐?) 首先说明一下对齐的实质: 顶部或者底部对齐: 本质上就确定了 一个视图的y坐标 左边或者右边对齐:本质上确定了一个视图的x坐标 centerX/Y对齐:确定 x/y坐标 注意对齐的前提是要 这其中的一个的顶部(或者底部,等等)约束已经确定

iOS AutoLayout自动布局中级开发教程(3)-等宽等高等中心

前面讲到了一些关于边界约束的知识,但那些基础知识来解决一些实际问题还是会有点力不从心的;所以我们需要更高级的设置约束的办法,设置等高等宽等中心: 见下图: 图中有3个button按钮, 现在要求3个button等宽,等高 , 且 垂直中心在一条线上,这该如何设置? 按照前面的说法,约束其实是一次方程组的求解,那么 通过观察可以得之,如果我们设置好了button之间的左右边界约束,然后再让3个button等宽就可以; 那么就会有  3x  = 宽度; 所以 每一个Button的宽度就可以计算出来了

Python中级开发教程

Python中级教程索引: 第一课.数据类型                      第十课.图形界面(下) 第二课.再讲数据类型                  第十一课.剪刀石头布游戏与随机函数 第三课.文本处理与色彩(上)             第十二课.获取手机系统信息(上) 第三课.文本处理与色彩(下)             第十二课.获取手机系统信息(下) 第四课.文件操作                      第十三课.选项卡(折叠界面) 第五课.while循环    

iOS Touch ID 简易开发教程

转自:NsstringFromName 支持系统和机型 iOS系统的指纹识别功能最低支持的机型为iPhone 5s,最低支持系统为iOS 8,虽然安装iOS 7系统的5s机型可以使用系统提供的指纹解锁功能,但由于API并未开放,所以理论上第三方软件不可使用. 依赖框架 LocalAuthentication.framework #import <LocalAuthentication/LocalAuthentication.h> 注意事项 做iOS 8以下版本适配时,务必进行API验证,避免调

[菜鸟成长记]iOS开发自学笔记04-AutoLayout自动布局

随着iphone6的问世,苹果又进一步加大了手机屏幕的尺寸,而且按照目前这种趋势来判断,未来应该还有可能会出现更大的屏幕的手机.如果没有AutoLayout那么目前iPhone有4种尺寸的屏幕,iPad也有两种尺寸.而一款应用程序想要兼容所有这些的不同尺寸的屏幕就必须要让程序做一些特殊处理,比如在程序里去获取屏幕尺寸再根据具体尺寸去建立不同的UI布局,显然每多一种屏幕就需要增加一种处理,这样很显然是繁琐和不经济的.而利用AutoLayout则可以使用约束对象的功能来实现一次布局在多种屏幕通用的目

iOS开发-博客导出工具开发教程(附带源码)

前言: 作为一名学生, 作为一名iOS开发学习者, 我个人浏览信息包括博客, 更多的选择移动终端.然而, csdn并没有现成的客户端(不过有个web版的). 之前曾经看到一款开源的导出工具, 但是它是基于Windows平台的.导出的也仅仅是PDF格式.而且, 对于文章的导出, 需要精确URL.无法做到边浏览别导出. 另外, 我想实现的是, 可以在没有网络的情况下, 浏览自己收藏的文章.并且, 对于自己收藏的文章, 可以分类管理. 最关键的是, 对于自己的文章, 可以做一个备份.我曾经遇到过这样一