26-UI基础通过代码创建九宫格

来源:互联网 发布:源码管理工具 编辑:程序博客网 时间:2024/05/17 04:42
通过代码创建九宫格

/*

        //公式

     

        子view的横向间距 = (父view的宽度- 列数 * 子view的宽度) / (列数+1)

        当前子view的行号 = 当前遍历到得索引值 / 总列数 

        当前子view的列号 = 当前遍历到得索引值 % 总列数

        子view横坐标的公式 = 子view的横向间距 + 列号 * (子view的横向间距+ 子view的宽度)

        子view纵坐标的公式 = 子view的纵向间距 + 行号 * (子view的纵向间距+ 子view的高度)


 */

    

    

    //生成九宫格

    

    int columnCount=3;            //一行有 几列

    CGFloat subviewW=100;       //每一格 

    CGFloat subviewH=100;       //每一格 

    CGFloat margnY=20;           //每一格的 纵向间距(固定)

    

    //每一格之间的 横向间距

    CGFloat margnX=(self.view.frame.size.width-columnCount*subviewW)/(columnCount+1);

    

    for (int i=0; i<9; i++) {

        

        UIView *subView=[[UIView allocinit];

        [self.view addSubview:subView];

        subView.backgroundColor=[UIColor redColor];

        

        //[设置subView的frame]

        //设置九宫格每一格的位置


        int row=i/columnCount;      //当前格子的 

        int col=i%columnCount;      //当前格子的 

        CGFloat subviewX=margnX+col*(margnX+subviewW);  //当前格子的 X坐标

        CGFloat subviewY=margnY+row*(margnY+subviewH);  //当前格子的 Y坐标

        

        subView.frame=CGRectMake(subviewX, subviewY, subviewW, subviewH);

      

    }


0 0
原创粉丝点击