button如何有規(guī)律排列,for循環(huán)是最好的,你也可以一個(gè)個(gè)去寫(xiě),但畢竟是小白級(jí)別的,具體代碼如下:
#define Start_X 10.0f // 第一個(gè)按鈕的X坐標(biāo)
#define Start_Y 50.0f // 第一個(gè)按鈕的Y坐標(biāo)
#define Width_Space 5.0f // 2個(gè)按鈕之間的橫間距
#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;//這句話不寫(xiě)等于廢了
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];
//按鈕點(diǎn)擊方法
[mapBtn addTarget:self action:@selector(mapBtnClick:) forControlEvents:UIControlEventTouchUpInside];
}
}
//點(diǎn)擊按鈕方法,這里容易犯錯(cuò)
-(void)mapBtnClick:(UIButton *)sender{
//記住,這里不能寫(xiě)成"mapBtn.tag",這樣你點(diǎn)擊任何一個(gè)button,都只能獲取到最后一個(gè)button的值,因?yàn)榍斑叺陌粹o都被最后一個(gè)button給覆蓋了
NSLog(@"%ld",sender.tag);
}