/**
* 根据固定间隙均匀分布
* @param axisType 水平/垂直
* @param fixedSpacing 固定间隙
* @param leadSpacing 头/尾间隔
@param tailSpacing 左/右间隔
*/
- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing;
/**
* distribute with fixed item size
* 根据固定物件宽度均匀分布
* @param axisType 水平/垂直
* @param itemLength 物件宽度
* @param leadSpacing 头/左间隔
* @param tailSpacing 尾/右间隔
*/
- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing;
Masonry + NSArray使用分布的这两个API 都是你把控件加入到数组中,对整个数组里的控件进行约束.
但是有一个注意点:如果axisType 你选择是水平排布,那么 参数leadSpacing就是左()间隔,
tailSpacing就是右()间隔.
相反如果是垂直分布,那么 参数leadSpacing就是头(顶部)间隔,
tailSpacing就是尾(底部)间隔.
例如用法:
[self.pcategory_btnArry mas_distributeViewsAlongAxis:MASAxisTypeHorizontal withFixedItemLength:80/2.0 leadSpacing:75/2.0 tailSpacing:75/2.0];
//水平排布,arry里的元素控件Length 为80/2.0 左右距离父控件的约束都是75/2.0
[self.pcategory_btnArry mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.mas_centerY);
make.height.mas_equalTo(134/2.0);
}];
网友评论