2014-03-26 50 views
1

我想創建一個使用for循環的動態網格,但我不能。我在這裏創建演示,但它不工作,我不明白這個邏輯,因爲我是新的。如何使用for循環創建UIImageView動態網格?

重要的是我必須使用循環沒有其他人。所以請給我任何使用for循環的解決方案。這是在我的viewDidLoad方法。

int x=5; 
int y=5; 
int hei=50; 
int wid=50; 

for (int i=0; i<3; i++) 
{ 
    for(int j=0;j<3;j++) 
    { 
     if (i==0 && j==0) 
     { 
      imageView1 = [[UIImageView alloc]initWithFrame:CGRectMake(x, y, wid, hei)]; 
      [imageView1 setImage:[UIImage imageNamed:@"Motocross.png"]]; 
      [self.view addSubview:imageView1];       
     } 
     else 
     { 
      imageView1 = [[UIImageView alloc]initWithFrame:CGRectMake(x+wid+5, y+hei+5, wid, hei)]; 
      [imageView1 setImage:[UIImage imageNamed:@"Motocross.png"]]; 
      [self.view addSubview:imageView1]; 
     } 

    } 
} 

在我想創建動態網格和的UIImageView的大小爲50 * 50和的UIImageView之間的空間5。因此,在演示中,我僅生成3×3格(同移動庫)。

回答

1

你只產生3×3格,因爲這是你的環路初始化定義的值,如果你想有一個更大的網格只是改變這些值,例如一個5x5的網格:

int x=5; 
int y=5; 
int hei=50; 
int wid=50; 

for (int i=0; i<5; i++) 
{ 
    for(int j=0;j<5;j++) 
    { 
     imageView1 = [[UIImageView alloc]initWithFrame:CGRectMake((x+wid)*i, (y+hei)*j, wid, hei)]; 
     [imageView1 setImage:[UIImage imageNamed:@"Motocross.png"]] 
     [self.view addSubview:imageView1]; 

    } 
} 
+0

謝謝!這段代碼非常簡單,現在我明白了邏輯。 –

2

請試試這個代碼就適用於2 * 2網格。並根據您的要求更改

-(void)loadThumbScroll{ 

    UIButton *button; 

    NSUInteger n = [arrimg count]; 
    int i=0,i1=0; 

    while(i<n){ 
     int yy = 15 +i1*90; 
     int j=0; 

     //this is for column 
     for(j=0; j< 2;j++){ 

      if (i>=n) break; 
      CGRect rect = CGRectMake(15+150*j, yy, 140, 80); 
      imageView1 = [[UIImageView alloc]initWithFrame: rect];]; 
       [imageView1 setImage:[UIImage imageNamed:@"Motocross.png"]]; 
        [self.view addSubview:imageView1]; 

      i++; 

     } 
     i1 = i1+1; 
    } 

    [thumbScrollView setContentSize:CGSizeMake(thumbScrollView.frame.size.width, button.frame.origin.y+button.frame.size.height+20)]; 

}