2012-03-20 55 views
1

目前我创建的UIButton的行(0,1,2,3)的新行水平创建UIButton的编程

int x=0; 

for (int i=0; i<4; i++) { 

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; 
    btn.frame = CGRectMake(10+x,20, 100, 100); 
    x=x+120; 

    [btn.titleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:17.0]]; 
    btn.tag=i; 
    NSString *str=[NSString stringWithFormat:@"%d",btn.tag]; 
    [btn setTitle:str forState:UIControlStateNormal]; 

    [btn setBackgroundColor:[UIColor redColor]]; 

    [self.view addSubview:btn]; 


} 

但同样我想创建按钮的另一行(4,5, 6,7)水平,但我找不到这样做的逻辑。有谁能够帮助我?

回答

2
use like below 

int x=0; 
int y = 20; 
for (int i=0; i<20; i++) //20 = total button 
{ 
     UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; 
     btn.frame = CGRectMake(10+x,y, 100, 100); 
     x=x+120; 
    [self.view addSubview:btn]; 
    if((i+1)%4==0)//4 means how many buttons you need for a row 
    { 
     y+=110; 
     x=0; 
    } 
 }