九宫格的计算思路
- 按行(row)和按列(col)显示或者排列数据
- 行和列的下标从0开始
- 行坐标:索引除以列数
- 列坐标:索引对列数取余
NSUInteger index = self.shopsView.subviews.count;
NSUInteger row = index / kCol;
NSUInteger col = index % kCol;
NSLog(@"(%ld,%ld)",row,col);
- 图片紧贴显示区域边缘
- 横向间隙 = (显示区域宽度 - 图片宽度*列数)/(列数+1)
- 图片跟显示区域有间距
- 横向间隙 = (显示区域宽度 - 图片宽度*列数)/(列数-1)
- 每张图片的frame的原点:
- x值:显示区域原点横坐标+(横间距+图片宽度)*列数
- y值:显示区域原点竖坐标+(竖间距+图片高度)*行数
CGFloat originalX = marginX;
CGFloat originalY = kMarginY;
view.frame = CGRectMake(
originalX + (marginX + kImageViewW) * col,
originalY + (kImageViewH + kMarginY) *row,
kImageViewW,
kImageViewH
);