美文网首页
九宫格-笔记

九宫格-笔记

作者: 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