IOS开发指南读书笔记8(AutoLayout) 2

原创 2015年11月18日 11:38:37
IOS开发指南读书笔记8(AutoLayout)
其原理类似Android的RelativeLayout,适用于IOS6以上。如果不同约束有冲突,回遵循优先级的高的约束。


一、可以设定的约束有
1、高度、宽度
至少,等于,至多一个数值
至少,等于,至多为其他控件的宽度,高度
2、对齐方式
与父控件
头部(左边Leading)对齐,尾部(右边Trailing)对齐,顶部对齐,底部对齐,水平中心对齐,垂直中心对齐,头部边缘对齐,尾部边缘对齐,顶部边缘对齐,底部边缘对齐
与其他控件头部(左边Leading)对齐,尾部(右边Trailing)对齐,顶部对齐,底部对齐,水平中心对齐,垂直中心对齐,头部边缘对齐,尾部边缘对齐,顶部边缘对齐,底部边缘对齐,文本标线对齐
3、距离
距离父控件的顶部,底部,头部,尾部  
至少,等于,至多于一个数值
距离其他控件的
顶部,底部,头部,尾部    至少,等于,至多于一个数值

二、Xib实现,略(自己尝试)

三、代码实现
默认规则
1、 | 表示父视图
2、 -表示距离
3、 V
表示垂直
4、 H表示水平(不写表示水平)
5、>= 表示至少
6、 == 表示等于 (不写表示等于)
7、 <= 表示至多
8、 @  表示优先级    1000以内 

实际运用
1、宽度,高度设定
 (1)   
[view(==200.0)]     [view(>=200.0)]             [view(<=200.0)]
 宽度   等于                      至少                       至多           为200
(2)V:[view(==50.0)]     V:[view(>=50.0)]          V:[view(<=50.0)] 
 高度   等于                      至少                       至多           为200 
(3)
[view(==view1)]         [view(>=view1)]              [view(<=view1)] 
 宽度   等于                      至少                       至多           为View1的宽度
(4)
V:[view(==view2)]      V:[view(==view2)]        V:[view(==view2)] 
高度    等于                      至少                       至多           为View1的高度度
 
 2
、对齐设定
 (1)
|[view]          [view]|            V:|[view]         V:[view]|
对齐父控件头部          尾部                 顶部                底部
(2) 
|-[view]          [view]-|            V:|-[view]         V:[view]-|
对齐父控件头部          尾部                 顶部                底部边缘
 
(3)参数
NSLayoutAttributeCenterX,NSLayoutAttributeCenterY,
NSLayoutAttributeLeft,NSLayoutAttributeRight
NSLayoutAttributeTop, NSLayoutAttributeBottom
NSLayoutAttributeLeading,NSLayoutAttributeTrailing
 
NSLayoutAttributeBaseline


3、距离 
(1)在父视图中间
|-[View]-|
(2)距离父视图左右30
|-30-[View]-30-|
(3) 
距离父视图上下30
V:
|-30-[View]-30-|


4、其他
(1)|-[view]->=30-[view1]-|
水平排布,两个View在父视图内,中间间隔至少30

虚幻4 VR开发指南

-
  • 1970年01月01日 08:00

iOS autolayout进阶教程,实现视频播放时,横竖屏的自动切换-适配iOS8 sizeClass 和之前的版本

--------------------------------转载请注明出处-----------------------------------相信有视频播放功能的项目中,同行们在做的时候肯定多少...
  • myfei2
  • myfei2
  • 2014-12-02 14:32:58
  • 1610

iOS 8开发指南 PDF高清全本

  • 2015年11月25日 14:27
  • 166.4MB
  • 下载

结合AutoLayout实践iOS8上UITableViewCell高度的自适应

上一次写博客已经是4个月之前了,不是不想写,只是没找到太合适的题目,本人秉着宁缺毋滥的原则...... 好吧,我承认是我懒惰了; 四个月,虽然陆续提交了几个项目,但是收获不大;与此同时,随着公司人事比...
  • baby_hua
  • baby_hua
  • 2016-08-12 12:21:45
  • 3370

使用AutoLayout布局2个button居中

(1)设置2个button的上,左,右的距离。 (2)并将第一个button的左边距离设置为优先级为250, 第二个button的右边距离设置为优先级250. (3)选中2个button,设置ho...
  • newadice
  • newadice
  • 2014-10-28 20:42:27
  • 902

关于IOS7 AutoLayout的各种bug

事实证明,IOS7对AutoLayout支持不好的。 1,就是tableviewcell。碰到过,最后的处理是 判断IOS版本,不同版本不同处理 2,对button的约束。情景是这样的,并排的两个...
  • ralbatr
  • ralbatr
  • 2015-01-28 10:24:35
  • 4050

iOS 8 Tableview根据AutoLayout自动调整高度

原创Blog,转载请注明出处 blog.csdn.net/hello_hwc前言:在iOS 8之前,如果要让Tableview根据内容自动调整大小的话,需要动态的去计算每个cell的高度。太尼玛操蛋...
  • Hello_Hwc
  • Hello_Hwc
  • 2015-05-08 12:09:46
  • 4595

史上比较用心的纯代码实现AutoLayout

原文地址:http://www.cocoachina.com/ios/20160616/16732.html 概述 使用 Objective-C 纯代码编写 AutoLayou...
  • junjun150013652
  • junjun150013652
  • 2016-06-21 12:19:14
  • 465

关于如何设置autolayout 控件居中显示 设置约束

1 首先设置相对于父视图 上下左右约束 2 设置左右 horizon space  relationship  3 设置子view 相对于父view  centerHorizontally  i...
  • zjjjgz
  • zjjjgz
  • 2015-05-28 17:18:08
  • 840

IOS 8 开发指南 源码2

  • 2015年05月21日 23:18
  • 36.43MB
  • 下载
收藏助手
不良信息举报
您举报文章:IOS开发指南读书笔记8(AutoLayout) 2
举报原因:
原因补充:

(最多只允许输入30个字)