Masonry 是对原生AutoLayout系统的第三方封装,为原生AutoLayout提供了链式编程的API,方便开发者通过编码方式设置自动布局,本篇介绍如何使用 Masonry 进行等距排列。
等距排列
等距排列指的是视图在水平或垂直方向上,按相等的间距排列,微信朋友圈的九宫格就属于这种排列,是界面布局上常见的需求,但如果使用frame需要做手工计算,代码冗长,可喜的是 Masonry 为我们提供了 distributeViewsAlongAxis 的方便方法。
两种等距模式
模式一:固定视图模式
- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing
模式二:固定间隔模式
- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing
两种模式主要是参数2的区别,差异如图所示:
两种模式差异
axisType控制等分方向,可选择水平方向或垂直方向;
leadSpac