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
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

IOS开发指南读书笔记2(应用程序的生命周期)

1、程序的五种状态 Not Running:未运行。 Inactive:前台非活动状态。处于前台,但是不能接受事件处理。 Active:前台活动状态。处于前台,能接受事件处理。 Backgro...

IOS开发指南读书笔记1(Xcode的基本使用)

IOS开发指南读书笔记1(Xcode的基本使用) 1、用Xcode创建工程 Product Name:工程名字 Organization Name:组织名字 Company Identifier:...

《iOS开发指南:从零基础到App Store上架》读书笔记(二)

P230 NSLayoutManager、NSTextContainer、NSTextStorage之间究竟是什么关系呢?NSLayoutManager对象从NSTextStorage对象中取得文本内...

IOS开发指南读书笔记12(IOS数据持久层的建立4)

IOS开发指南读书笔记12(IOS数据持久层的建立4)  建立CoreData需要首先建立一个模型文件 生成的后缀是xcdatamodeid,但是编译之后在沙盒的momd文件 首先A...

《iOS开发进阶》读书笔记

相关代码:https://github.com/tangqiaoboy/iOS-Pro 一、iOS开发工具 1.类似java的maven,iOS中管理第三方库的工具cocoapods 2...

OS开发指南读书笔记9(IOS数据持久层的建立1)

IOS开发指南读书笔记9(IOS数据持久层的建立1)  建立IOS数据持久层,有以下几个方式 1、文本文件 plist/Xml/Json/NSUserDefault(等同于plist) 2、...

asio库的使用2(Boost程序库完全开发指南)读书笔记

boost------asio库的使用2(Boost程序库完全开发指南)读书笔记 2013-08-02 13:52:44     我来说两句       作者:孤独的豆沙包 收藏 &#...

iOS开发中的那些的约定俗成(1)————《编写高质量iOS与OS X代码的52个有效方法》读书笔记(第一章)

iOS开发中的那些的约定俗成(1)————《编写高质量iOS与OS X代码的52个有效方法》读书笔记(第一章)前言“我要成为一个高产的开发人员。”“想要混的好,就得多努力。” 写这些东西是因为毕竟看...

《HBase权威指南》读书笔记8:第八章 架构

8.1 数据查找和传输B+树:B+树比B树的改进为叶子节点也是顺序排放的LSM(log-structured merge-tree)树存储系统概述

【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记27 AutoLayout自动布局2

上一话中我们实现了切换密码输入的功能,这一话我们来完成登录的功能。 我们创建一个Swift的类用来存储用户信息: import Foundation struct User { let ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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