关闭

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

标签: Objective-c读书笔记
282人阅读 评论(0) 收藏 举报
分类:
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
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:40027次
    • 积分:923
    • 等级:
    • 排名:千里之外
    • 原创:54篇
    • 转载:1篇
    • 译文:0篇
    • 评论:3条
    文章分类