如何让UIScrollView在添加imageView到它之间显示?
问题描述:
我有一个UIScrollView,并使用下面的代码向它添加9个imageview。如何让UIScrollView在添加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先来,然后显示每个被加载的图像?
答
您正在阻塞runloop,直到执行完整个代码块。因此,您的应用没有机会更新其绘图。您需要异步执行绘图(更具体地说,下载图像)。下载图像后,您可以将其添加到您的UIScrollView。请注意,您想使用类似performSelectorOnMainThread...
的方法在主线程上执行此绘图。
它的工作,但半完美。问题在于,即使图像被加载,如果我正在对scrollview执行任何当前操作,那么只有它按照我想要的那样工作,即用新的图像替换当前图像,否则它将如先前的情况那样。但是,如果我只是在玩它,我能够看到他们每个人都加载并替换previos。 如何在我甚至没有做任何事情时使它可见? – wolverine 2010-01-12 10:35:45
不容易说没有看到代码。您可能必须让runloop知道您的视图需要使用setNeedsDisplayInRect:方法更新其绘图。 – 2010-01-12 17:27:16