如何创建网格的UIImageView动态使用循环



我想使用for循环创建一个动态网格,但我不能。我在这里创建了演示,但它不工作,我不能理解这个逻辑,因为我是新手。

重要的是,我必须使用for循环而不是其他循环。所以请给我使用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。所以在演示1中只生成3*3的网格(与移动版的图库相同)。

请尝试这个代码,它适用于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)];
}

你只能生成3x3的网格因为这是你在循环初始化中定义的值,如果你想要一个更大的网格只需改变这些值,例如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];
    }   
}

相关内容

  • 没有找到相关文章

最新更新