IOS开发基础篇 --添加的约束中所有的枚举值
/** NSLayoutConstraint类中的枚举值
* 代码添加一条约束
*
* @param Item:view1 :要约束的控件
* @param attribute:attr1 :约束的类型(做怎样的约束)
* @param relatedBy:relation :与参照控件之间的关系
* @param toItem:view2 :参照的控件
* @param attribute:attr2 :约束的类型(做怎样的约束)
*
* @param Item:view1 :要约束的控件
* @param attribute:attr1 :约束的类型(做怎样的约束)
* @param relatedBy:relation :与参照控件之间的关系
* @param toItem:view2 :参照的控件
* @param attribute:attr2 :约束的类型(做怎样的约束)
* @param multiplier:multiplier :乘数
* @param constant:c :常量(修正值)
*/ 一句话就是谁的哪个位置等于谁的哪个位置乘个系数+上个修正值(最左边向右修正是正数 ,最右边向左修正是负数)
/** 约束类型的选项
NSLayoutAttributeLeft = 1, // 左边
NSLayoutAttributeRight, // 右边
NSLayoutAttributeTop, // 顶部
NSLayoutAttributeBottom, // 底部
NSLayoutAttributeLeading, // 左边
NSLayoutAttributeTrailing, // 右边
NSLayoutAttributeWidth, // 宽度
NSLayoutAttributeHeight, // 高度
NSLayoutAttributeCenterX, // 中心X值
NSLayoutAttributeCenterY, // 中心Y值
NSLayoutAttributeBaseline, // 基准线
NSLayoutAttributeLastBaseline = NSLayoutAttributeBaseline,
NSLayoutAttributeFirstBaseline NS_ENUM_AVAILABLE_IOS(8_0),
Margin 边距
NSLayoutAttributeLeftMargin NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeRightMargin NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeTopMargin NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeBottomMargin NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeLeadingMargin NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeTrailingMargin NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeCenterXWithinMargins NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeCenterYWithinMargins NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeNotAnAttribute = 0
*/
/** 与参照控件的关系
NSLayoutRelationLessThanOrEqual = -1, 小于等于
NSLayoutRelationEqual = 0, 等于
NSLayoutRelationGreaterThanOrEqual = 1,大于等于
NSLayoutAttributeLeft = 1, // 左边
NSLayoutAttributeRight, // 右边
NSLayoutAttributeTop, // 顶部
NSLayoutAttributeBottom, // 底部
NSLayoutAttributeLeading, // 左边
NSLayoutAttributeTrailing, // 右边
NSLayoutAttributeWidth, // 宽度
NSLayoutAttributeHeight, // 高度
NSLayoutAttributeCenterX, // 中心X值
NSLayoutAttributeCenterY, // 中心Y值
NSLayoutAttributeBaseline, // 基准线
NSLayoutAttributeLastBaseline = NSLayoutAttributeBaseline,
NSLayoutAttributeFirstBaseline NS_ENUM_AVAILABLE_IOS(8_0),
Margin 边距
NSLayoutAttributeLeftMargin NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeRightMargin NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeTopMargin NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeBottomMargin NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeLeadingMargin NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeTrailingMargin NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeCenterXWithinMargins NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeCenterYWithinMargins NS_ENUM_AVAILABLE_IOS(8_0),
NSLayoutAttributeNotAnAttribute = 0
*/
/** 与参照控件的关系
NSLayoutRelationLessThanOrEqual = -1, 小于等于
NSLayoutRelationEqual = 0, 等于
NSLayoutRelationGreaterThanOrEqual = 1,大于等于
*/
代码:Masonry 第三方框架
/**
约束的类型:
1. 尺寸: width\height\size
2. 边界: left\leading\right\trailing\top\bottom
3. 中心点: center\centerX\centerY
约束的类型:
1. 尺寸: width\height\size
2. 边界: left\leading\right\trailing\top\bottom
3. 中心点: center\centerX\centerY
4. 边界: edges
// 这个方法会将以前的所有约束删掉,添加新的约束
[blueView mas_remakeConstraints:^(MASConstraintMaker *make) {
[blueView mas_remakeConstraints:^(MASConstraintMaker *make) {
}];
// 这个方法将会覆盖以前的某些特定的约束
[blueView mas_updateConstraints:^(MASConstraintMaker *make) {
}];
[blueView mas_updateConstraints:^(MASConstraintMaker *make) {
}];
下面一个大于等于/小于等于/等于(我记不清了,用的时候翻译软件看一下就好)
greaterThanOrEqualTo
equalTo 等于
lessThanOrEqualTo
mas_equalTo:这个方法会对参数进行包装
equalTo:这个方法不会对参数进行包装
mas_equalTo的功能强于 > equalTo
添加上面的宏就没有区别了,详细的看PPT
*/
知识慢慢积累,刚开始会感觉好累,时间长了,积累知识多了,以后的工作也会轻松很多....