
知识点:
1.masonry
2.NSArray分类实现
NSArray+Sudoku.h
#import "MASUtilities.h"
#import "MASConstraintMaker.h"
#import "MASViewAttribute.h"
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSArray (Sudoku)
/**
* 九宫格布局 固定ItemSize 可变ItemSpacing
*
* @param fixedItemWidth 固定宽度
* @param fixedItemHeight 固定高度
* @param warpCount 折行点
* @param topSpacing 顶间距
* @param bottomSpacing 底间距
* @param leadSpacing 左间距
* @param tailSpacing 右间距
*/
- (void)mas_distributeSudokuViewsWithFixedItemWidth:(CGFloat)fixedItemWidth
fixedItemHeight:(CGFloat)fixedItemHeight
warpCount:(NSInteger)warpCount
topSpacing:(CGFloat)topSpacing
bottomSpacing:(CGFloat)bottomSpacing
leadSpacing:(CGFloat)leadSpacing
tailSpacing:(CGFloat)tailSpacing;
/**
* 九宫格布局 可变ItemSize 固定ItemSpacing
*
* @param fixedLineSpacing 行间距
* @param fixedInteritemSpacing 列间距
* @param warpCount 折行点
* @param topSpacing 顶间距
* @param bottomSpacing 底间距
* @param leadSpacing 左间距
* @param tailSpacing 右间距
*/
- (void)mas_distributeSudokuViewsWithFixedLineSpacing:(CGFloat)fixedLineSpacing
fixedInteritemSpacing:(CGFloat)fixedInteritemSpacing
warpCount:(NSInteger)warpCount
topSpacing:(CGFloat)topSpacing
bottomSpacing:(CGFloat)bottomSpacing
leadSpacing:(CGFloat)leadSpacing
tailSpacing:(CGFloat)tailSpacing;
/**
* 九宫格布局 固定ItemSize 固定ItemSpacing
* 可由九宫格的内容控制SuperView的大小
* 如果warpCount大于[self count],该方法将会用空白的View填充到superview中
*
* Sudoku Layout, has fixed item size, and fix item space
* If warp count greater than self.count, It's fill empty view to superview
*
* @param fixedItemWidth 固定宽度,如果设置成0,则表示自适应,If set it to zero, indicates the adaptive.
* @param fixedItemHeight 固定高度,如果设置成0,则表示自适应,If set it to zero, indicates the adaptive.
* @param fixedLineSpacing 行间距
* @param fixedInteritemSpacing 列间距
* @param warpCount 折行点
* @param topSpacing 顶间距
* @param bottomSpacing 底间距
* @param leadSpacing 左间距
* @param tailSpacing 右间距
*
* @return 一般情况下会返回[self copy]
Masonry与九宫格布局

本文介绍如何使用Masonry库实现iOS应用中的九宫格布局,包括固定Item大小、可变Item间距等多种布局方式,适用于不同场景的需求。
最低0.47元/天 解锁文章
1万+





