2013-03-04 7 views
0

for 루프를 사용하여 progaramatically 15 UIButtons를 만들고 싶습니다. 행과 열이있는 행렬 같은 버튼을 정렬하고 싶습니다. 3 행 5 열을 말합니다. 버튼 높이는 50이고 너비는 80입니다. y, width, height 좌표를 설정할 수 있습니다. 하지만 문제는 x 좌표에만 있습니다. x 좌표를 설정하는 논리를 말해 보겠습니다.iOS에서 for 루프를 사용하여 프로그래밍 방식으로 UIButtons를 추가하는 방법은 무엇입니까?

미리 감사드립니다. 여기

+2

여기에 코드를 공유하십시오. – Dany

답변

2

당신은 이동 :

CGFloat marginX = 10.f; 
CGFloat marginY = 5.f; 
CGRect buttonFrame = CGRectMake(0., 0., 80., 50.f); 

for(NSUInteger row = 0; row < 5; row++) { 
    for(NSUInteger column = 0; column < 3; column++) { 
     UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
     button.frame = buttonFrame; 
     //... more button settings 

     [self.view addSubview:button]; 
     buttonFrame.origin.x += marginX; 
    } 

    buttonFrame.origin.x = 0.; 
    buttonFrame.origin.y += marginY; 
} 
3
int row = 0; 
int column = 0; 
for (int i = 0; i < 15; i++) 
{ 
    if((row%3 == 0) && (row > 0)) 
    { 
     row = 0; 
     column++; 
    } 
    else{ 
     row++; 
    } 
    CGRect btnFrame = CGRectMake(row*80+10, column*50+10, 80, 50);//your button frame 
    UIButton *btnTemp = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [btnTemp setFrame:btnFrame]; 
    [self.view addSubView:btnTemp]; 
} 
5
float x = 10; 
    float y = 10; 
    float width = 50; 
    float height = 50; 
    for(int i =0;i<15;i++) 
    { 
     UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
     [btn setFrame:CGRectMake(x, y, width, height)]; 
     [btn setTitle:[NSString stringWithFormat:@"B%d",i+1] forState:UIControlStateNormal]; 
     [self.view addSubview:btn]; 

     x = x + width + 20; 

     if((i+1)%3==0) 
     { 
      x = 10; 
      y = y + height + 20; 
     } 
    } 

그냥 위의 코드에서 x와 y도 설정 높이와 너비를 교체합니다.

관련 문제