美文网首页
九宫格算法

九宫格算法

作者: 最美时光A | 来源:发表于2018-10-05 12:13 被阅读0次

    像这样的九宫格的元素位置的算法,还是比较简单的,下面就来分析一下:

    九宫格算法

    三行三列的九宫格的每一个元素的位置的算法:

    编号为0的元素,位于第0行,第0列

    编号为1的元素,位于第0行,第1列

    编号为2的元素,位于第0行,第2列

    编号为3的元素,位于第1行,第0列

    编号为4的元素,位于第1行,第1列

    编号为5的元素,位于第1行,第2列

    编号为6的元素,位于第2行,第0列

    编号为7的元素,位于第2行,第1列

    编号为8的元素,位于第2行,第2列

    观察就会发现

    元素的行号 = 编号 / 列数

    元素的列号 = 编号 % 列数

    假设一个元素的 宽 高  水平间距 垂直间距

    width = 70

    height = 90

    colMargin = 10

    rowMargin = 10

    红色View的宽是bigW,高是bigH

    那么就可以得出:

    X = 列号 * (width + colMargin)

    Y = 行号 * (height + rowMargin)

    那么元素的frame = CGRectMake(x, y, width, height);

    元素的宽、高可以根据红色背景的宽和高、还有水平间距和垂直间距和列数和行数算出,同样的间距也是可以算出来的。

    相关文章

      网友评论

          本文标题:九宫格算法

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