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);
}