搭建界面,九宫格

network | | 访问(55)
// 显示九宫格按钮
-(void) showCategoryView{

    // 搭建界面,九宫格
    #define cateBtnW 66 // 按钮宽度
    #define cateBtnH 35 // 按钮高度
    #define cateColCount 4 // 每行按钮个数
    #define cateStartY 25 // 行间距
    
    UIView *cateView = [[UIView alloc] initWithFrame:CGRectMake(0, 180, (self.view.bounds.size.width-20), 300)];
    [self.view addSubview:cateView];// 定义一个View 存放九宫格
    
    int row,col;
    CGFloat marginX,marginY,x,y;
    
    marginX = (self.view.bounds.size.width - cateColCount*cateBtnW)/(cateColCount+1); // 左右间距
    marginY = 10; // 上下间距
    
    for (int i=0; i<self.categoryArray.count;i++) {
        // 行
        // 0, 1, 2 ,3 => 0
        // 4, 5, 6 ,7 => 1
        // 8, 9, 10 ,11 => 2
        // 12, 13, 14 ,15 => 3
        row = i / cateColCount; // 行 对应的是y轴
        // 列
        // 0, 4, 8, 12 => 0
        // 1, 5, 9, 13 => 1
        // 2, 6, 10, 14 => 2
        // 3, 7, 11, 15 => 3
        col = i % cateColCount; // 列 对应的是x轴
        x = marginX + col * (marginX + cateBtnW); // 距离屏幕左边的距离
        y = marginY + row * (marginY + cateBtnH); // 距离屏幕顶部的距离
        UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(x, y, cateBtnW, cateBtnH)];
        btn.tag= [self.categoryArray[i][@"tag"] integerValue]; // 定义tag值
        // btn.font=[UIFont systemFontOfSize:14]; // 设置字体大小(过期方法)
        btn.titleLabel.font = [UIFont systemFontOfSize:14.0]; // 设置字体大小
        [btn setTitle:self.categoryArray[i][@"name"] forState:UIControlStateNormal]; // 按钮名称
        [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; // 按钮文字颜色
        btn.backgroundColor=[UIColor brownColor]; // 按钮背景颜色
        [cateView addSubview:btn]; // 将按钮放入View
        [btn addTarget:self action:@selector(clickCategoryButton:) forControlEvents: UIControlEventTouchUpInside]; // 绑定按钮点击事件
    }

}