ViewController.h

@property(strong,nonatomic)UIButton *button;

@property(assign,nonatomic)int number;

ViewController.m

//每一排的个数

int index=5;

//按钮的宽度

CGFloat buttonWidth=60;

//按钮的高度

CGFloat buttonHeigth=60;

//按钮的起始位置,到边界Y的位置

CGFloat buttonTop=20;

//按钮的起始位置,到边界X的位置

CGFloat buttontoX=(self.view.frame.size.width-buttonWidth*index)/(index+1);

CGFloat buttontoY=buttontoX;

//设置计算按钮的个数,初始化赋值为1

self.number=1;

for (int i=0; i<45; i++)

{

int X=i%index;

int Y=i/index;

self.button=[UIButton buttonWithType:UIButtonTypeRoundedRect];

CGFloat buttonX=(buttontoX+buttonWidth)*X+buttontoX;

CGFloat buttonY=(buttontoY+buttonHeigth)*Y+buttontoY+buttonTop;

self.button.frame=CGRectMake(buttonX, buttonY, buttonWidth, buttonHeigth);

self.button.backgroundColor=[UIColor redColor];

self.button.layer.cornerRadius=30;

[self.button addTarget:self action:@selector(testposition:) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:self.button];

self.button.tag=self.number++;

NSLog(@"tag=%ld",(long)self.button.tag);

}

}

//实现位置方法

-(void)testposition:(UIButton *)Button

{

self.button=Button;

int num=(int)self.button.tag;

if (num==1)

{

[[self.view viewWithTag:num] change];

[[self.view viewWithTag:num+1] change];

[[self.view viewWithTag:num+5] change];

}

else if(num==5)

{

[[self.view viewWithTag:num] change];

[[self.view viewWithTag:num-1] change];

[[self.view viewWithTag:num+5] change];

}

else if(num==41)

{

[[self.view viewWithTag:num] change];

[[self.view viewWithTag:num-5] change];

[[self.view viewWithTag:num+1] change];

}

else if(num==45)

{

[[self.view viewWithTag:num] change];

[[self.view viewWithTag:num-1] change];

[[self.view viewWithTag:num-5] change];

}

else if(num%5==1)

{

[[self.view viewWithTag:num] change];

[[self.view viewWithTag:num-5] change];

[[self.view viewWithTag:num+1] change];

[[self.view viewWithTag:num+5] change];

}

else if(num%5==0)

{

[[self.view viewWithTag:num] change];

[[self.view viewWithTag:num-5] change];

[[self.view viewWithTag:num-1] change];

[[self.view viewWithTag:num+5] change];

}

else if(num%5==1)

{

[[self.view viewWithTag:num] change];

[[self.view viewWithTag:num-5] change];

[[self.view viewWithTag:num+1] change];

[[self.view viewWithTag:num-5] change];

}

else

{

[[self.view viewWithTag:num] change];

[[self.view viewWithTag:num-1] change];

[[self.view viewWithTag:num+1] change];

[[self.view viewWithTag:num-5] change];

[[self.view viewWithTag:num+5] change];

}

}

//改变颜色的方法

-(void)change

{

if (self.backgroundColor==[UIColor redColor])

{

self.backgroundColor=[UIColor blueColor];

}

else

{

self.backgroundColor=[UIColor redColor];

}

}

原文:http://www.cnblogs.com/layios/p/5256301.html