美文网首页
九宫格-笔记

九宫格-笔记

作者: Lucius_cheng | 来源:发表于2016-03-17 22:01 被阅读0次

一.九宫格 排列计算方法.

  1. 先确定每行多少列.
  2. 在根据每行的单元格个数求出,单元格之间的间距
  3. 再根据父控件的subViews.count属性求出每个单元的编号
    4.根据单元格编号得出每个单元格在第几行第几列
    5.根据第几行,得出单元格的Y值
    6.根据第几列,得出单元格的X值
  • 先算出每个单元格的长宽
CGFloat shopW = 50;
CGFloat shopH = 70;
  • 根据每个单元格在父控件中的数组的subViews.count给单元格编号
    //商品的编号 商品的行号 列号
    NSUInteger shopNub = self.shopsView.subviews.count;
  • 得出每一行的个数,第几行,第几列.
//一行多少列
int cols = 3;
//第几行
NSUInteger row = shopNub / cols;
//第几列
NSUInteger col = shopNub % cols;
  • 通过每行的列数,和父控件的宽,得出每个单元格之间的间距.
 //每列的间距
 CGFloat  colMargin = (self.shopsView.frame.size.width -cols*shopW) / (cols - 1);
  • 设定每行的间距.
    //每行间距
    CGFloat rowMargin = 10;
  • 根据上面所得的数据 ,求出每个单元格的frame的XY值
    CGFloat shopX = col *(shopW + colMargin);
    CGFloat shopY = row *(shopH +rowMargin);
    shopView.frame = CGRectMake(shopX, shopY, shopW, shopH);

相关文章

网友评论

      本文标题:九宫格-笔记

      本文链接:https://www.haomeiwen.com/subject/uipclttx.html