iOS开发之for循环创建button等控件

button如何有规律排列,for循环是最好的,你也可以一个个去写,但毕竟是小白级别的,具体代码如下:

#define Start_X          10.0f      // 第一个按钮的X坐标
#define Start_Y          50.0f     // 第一个按钮的Y坐标
#define Width_Space      5.0f      // 2个按钮之间的横间距
#define Height_Space     20.0f     // 竖间距
#define Button_Height   122.0f    // 高
#define Button_Width    75.0f    // 宽
-(void)addButtonS
{
    for (int i = 0 ; i < 6; i++) {
        NSInteger index = i % 3;
        NSInteger page = i / 3;
         
        // 圆角按钮
        UIButton *mapBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
         mapBtn.tag = i;//这句话不写等于废了
        mapBtn.frame = CGRectMake(index * (Button_Width + Width_Space) + Start_X, page  * (Button_Height + Height_Space)+Start_Y, Button_Width, Button_Height);
         
        [self.view addSubview:mapBtn];
      //按钮点击方法
        [mapBtn addTarget:self action:@selector(mapBtnClick:) forControlEvents:UIControlEventTouchUpInside];
    }
}

//点击按钮方法,这里容易犯错
-(void)mapBtnClick:(UIButton *)sender{
    //记住,这里不能写成"mapBtn.tag",这样你点击任何一个button,都只能获取到最后一个button的值,因为前边的按钮都被最后一个button给覆盖了
     NSLog(@"%ld",sender.tag);
}

推荐阅读更多精彩内容