一、导入库
Masonry支持CocoaPods,可以直接通过podfile文件进行集成,cocoapods的配置与Masonry的配置方法如下:
https://www.jianshu.com/p/9e4e36ba8574
如果已经配置完成,总体需要的代码就如下:
- 终端输入: cd /Users/(电脑的id)/Desktop/CocoaPodsTest
//输入自己项目的路径或直接拖拽也行 - 创建Podfile文件:touch Podfile
- 编辑你想导入的第三方库的名称及版本
使用vim编辑Podfile文件
终端输入:vim Podfile
第一行变为ios 8.0
第二行myapp变为需要添加的工程名字
第三行AFNetworking变为需要的导入库 删除最后面的(保证最新)就行了。 - 把该库下载到Xcode中 在终端中输入:pod install
二、Masonry基础使用
mas_makeConstraints() 添加约束
mas_remakeConstraints() 移除之前的约束,重新添加新的约束
mas_updateConstraints() 更新约束
equalTo() 参数是对象类型,一般是视图对象或者mas_width这样的坐标系对象
mas_equalTo() 和上面功能相同,参数可以传递基础数据类型对象,可以理解为比上面的API更强大
width() 用来表示宽度,例如代表view的宽度
mas_width() 用来获取宽度的值。和上面的区别在于,一个代表某个坐标系对象,一个用来获取坐标系对象的值
如果想要使用不带有前面mas_的话加两行宏定义即可
其基础的设置属性如下:
1.尺寸:width、height、size。
2.边界:left、leading、right、trailing、top、bottom、edges。
3.中心点:center、centerX、centerY。
4.偏移量:offset、insets、sizeOffset、centerOffset。
5.priority()约束优先级(0~1000),multipler乘因数,dividedBy除因数。
大小关系有三种:
1.equalTo,相等。
2.lessThanOrEqualTo,小于等于。
3.greaterThanOrEqualTo,大于等于。
其他使用细节:https://www.jianshu.com/p/6ab926c6647d
如果写具体的位置offset()中的数值变为self.view.frame.size.height 乘以 所需要的百分数
三、源代码
UIImage *first = [UIImage imageNamed:@"works_img1.png"];
UIImageView *firstimage = [[UIImageView alloc]initWithImage:first];
[cell addSubview:firstimage];
[firstimage mas_makeConstraints:^(MASConstraintMaker *make){
// make.centerX.equalTo(cell).offset(-100);
make.top.equalTo(cell).offset(cell.frame.size.height * 0.005);
make.left.equalTo(cell).offset(0);
make.right.equalTo(cell).offset(0);
make.height.equalTo(@200);
}]
在对其产生约束后 在自定义cell中的所需要出现的位置便能达到效果 效果如下(上面的文字也同样使用了Masonry):
补充:最好使用百分比进行比较 就是*0.5类似这样的 这样可以保证换个机型也能正常运行