Iphone 使用每个UIImageView的UIActivityIndicatorView将UIImageView从URL加载到UIScrollView

Iphone 使用每个UIImageView的UIActivityIndicatorView将UIImageView从URL加载到UIScrollView,iphone,uiscrollview,uiimageview,uiactivityindicatorview,Iphone,Uiscrollview,Uiimageview,Uiactivityindicatorview,我有以下代码,它在UIScrollView中运行良好。但加载图片时,只能在最后一个子视图中看到,UIActivityIndicatorView无法加载每张图片 如何完成这样的任务 myProject2ViewController.h myProject2ViewController.m 当您这样做时: CGRectMake(0.0f, 50.0f, 320.0f, 416.0f); 在for循环中,为在for循环中创建的每个图像指定相同的精确位置和尺寸。换句话说,您创建的每个下一个图像都将位于

我有以下代码,它在UIScrollView中运行良好。但加载图片时,只能在最后一个子视图中看到,UIActivityIndicatorView无法加载每张图片

如何完成这样的任务

myProject2ViewController.h

myProject2ViewController.m

当您这样做时:

CGRectMake(0.0f, 50.0f, 320.0f, 416.0f);
在for循环中,为在for循环中创建的每个图像指定相同的精确位置和尺寸。换句话说,您创建的每个下一个图像都将位于上一个图像的顶部,因此,您将只看到在for循环中创建的最终图像

尝试将计数器i变量添加到CGRectMake中的X和Y值,以偏移随后创建的每个图像

假设每个图像都是100像素乘以100像素,然后类似于:

CGRectMake(0.0f + (i * 100.0f), 50.0f, 320.0f, 416.0f);
如果使每个图像位于前一个图像的正后方,因为每个图像的宽度为100像素,我们将其偏移100像素,并使用该值作为下一个图像的起点。如果在i*100之后添加一个额外的值,使其变为i*100+50,那么将从上一幅图像中获得50个像素的左填充

如果你的图像是不同的尺寸,你需要先计算出图像的宽度和高度,然后将它们考虑到你的CGRectMake方法中

希望有帮助

此外,您可以这样编写代码,而不是创建这么多视图来添加到滚动视图中:

scrollView = [[UIScrollview alloc] init];

. . .

for(...)
{
    UIImageView *currentImage = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f + (i * 100.0f), 50.0f, 320.0f, 416.0f);
    [currentImage setImage:[UIImage imageNamed:[imageUrls objectAtIndex:i]]];

    . . .

    [scrollView addSubview: currentImage];
    [currentImage release];
}

谢谢你的回复。但是ScrollView工作得很好。这是由一个单独的类import PageScrollView.h定义的。这个类从一个页面数组创建一个worker ScrollView。
CGRectMake(0.0f + (i * 100.0f), 50.0f, 320.0f, 416.0f);
scrollView = [[UIScrollview alloc] init];

. . .

for(...)
{
    UIImageView *currentImage = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f + (i * 100.0f), 50.0f, 320.0f, 416.0f);
    [currentImage setImage:[UIImage imageNamed:[imageUrls objectAtIndex:i]]];

    . . .

    [scrollView addSubview: currentImage];
    [currentImage release];
}