我有一个UIScrollView,我使用以下代码添加了9个imageview。
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"some url"]];
frame = [imageView frame];
frame.origin.x = x;
frame.origin.y = y;
[imageView setFrame:frame];
imageView.userInteractionEnabled = YES;
imageView.multipleTouchEnabled = YES;
[myScrollView addSubview:imageView];
}
}
我认为将显示UIScrollView,然后我们将看到每个图像都被加载到图块中。但是,只有在加载所有图像之后,才会发生UIScrollView与所有图像一起出现。 如何让UIScrollView先出现,然后显示正在加载的每个图像?
答案 0 :(得分:2)
您正在阻止runloop,直到执行整个代码块。因此,您的应用无法更新其绘图。您需要异步执行绘图(更具体地说,下载图像)。下载图像后,您可以将其添加到UIScrollView。请注意,您希望使用performSelectorOnMainThread...
等方法在主线程上执行此绘制。