1.我的mainView是一个UIScrollView。我必须将9张图像作为图片加载到其上。
2.我正在调用该函数作为另一个线程来获取9images并将其加载到接口(mainthread)中。通过这样做,界面保持响应。
3.但是即使在加载图像时它们也没有出现在UIScrollView中,直到整个线程完成为止。但是,如果我在界面上执行某些操作,我可以看到每个都被加载和显示。
我该怎么办?我已经给出了用于将图像加载到UIScrollView的代码,我使用不同的线程调用它。
- (void)setUpDisplay:(NSArray *)array
{
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
myScrollView.userInteractionEnabled = YES;
myScrollView.multipleTouchEnabled = YES;
int x=0,y=0;
CGRect frame;
for (i = 0; i < 3; i++)
{
if(j == 3)
{
x=x+256;
y = y-768;
}
for (j = 0; j < 3; j++) {
imageView = [[UIImageView alloc] initWithImage:[self getCachedImage:[NSString stringWithFormat:@"url to fetch images"]]];
frame = [imageView frame];
frame.origin.x = x;
frame.origin.y = y;
[imageView setFrame:frame];
imageView.userInteractionEnabled = YES;
imageView.multipleTouchEnabled = YES;
[myScrollView addSubview:imageView];
y = y+256;
[imageView release];
imageView=nil;
}
}
[pool release];
}
答案 0 :(得分:2)
这种NSObject方法通常很有帮助:
[someObject performSelectorOnMainThread:@selector(updateUI:) withObject:anotherObject waitUntilDone:YES /* or NO */];
答案 1 :(得分:0)
您可能想在每个图像加载完成后尝试在主线程上调用[myScrollView setNeedsDisplay]。