美文网首页iOS学习
IOS 实现九宫格

IOS 实现九宫格

作者: _叫我小贱 | 来源:发表于2016-04-09 16:29 被阅读3942次
    • 通过向mainView添加sunView来模拟实现九宫格数据的添加。
    • 想要实现九宫格,主要在于每个sunView的X,Y值的计算,宽、高自定义即可。
      • 添加sunView的宽和高分别为:vieW,viewH。
    Untitled.png
    • 列间距:colMargin,行间距:rowMargin。
    • X坐标的计算:
      • 由上图可知每个sunView的X坐标为:viewW+colMargin的倍数。
        • 举个🌰:例如1的X的坐标为:0*(viewW+colMargin)。2点X坐标1*(viewW+colMargin)。其他以此类推。
      • 倍数col(系数)的获得:
        • col = index % cols;index为在mainView中含有的sunView的个数,cols为你所需要实现效果的列数。
        • 说明:当mainView中不含有任何sunView的时候,index的值为零,当他对cols取余的时候余数为零,对应的系数为零,所对应的X值为零,即1的X坐标为0。继续添加,此时已有一个sunView,index的值为1,对cols取余的值为1,此时X值为1*(viewW+colMargin),即2的坐标为1*(viewW+colMargin)。其他以此类推。
     NSUInteger col = index % cols;
      CGFloat viewX = col * (viewW + colMargin);
    
    • Y坐标的计算:
      • 由上图可知每个sunView的Y坐标为:viewW + colMargin的倍数。思想类似于Y坐标的计算,这里不再赘述。
      • 倍数row(系数)的获得:
        • row = index / cols。
    NSInteger row = index / cols;
    CGFloat viewY = row * (viewH + rowMargin);
    

    相关文章

      网友评论

        本文标题:IOS 实现九宫格

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