从NSTimer方法更新uiimageview的问题

时间:2010-11-13 19:00:06

标签: iphone uiimageview nstimer

我在从NSTimer调用的方法中更新UIImageView的图像时遇到问题。 它在viewDidLoad方法中工作,我做这样的事情 [imageView setImage:[self getNextImage]];

稍后我会

NSTimer* readTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(readSource:) userInfo:nil repeats:NO];

[readTimer fire];

工作,并调用readSource方法。 在那里我把这段代码:

UIImageView* tempImageView = (UIImageView*)[containerView viewWithTag:nextDefragSourcePosition ];

完全返回我想要的imageView - 但是以下行不会改变UIImageView的图像

[tempImageView setImage:dataBeingReadImage];

有什么想法吗?提前致谢。 的Heiko

1 个答案:

答案 0 :(得分:0)

您是否知道从不同于创建UIImageView的线程更新GUI?您可以在主线程上执行选择器来解决此问题。

请看一下performSelectorOnMainThread方法。只需从NSTimer触发时调用的方法(readSource :)调用它,并为其提供要显示的图像。然后只需从THAT选择器(而不是readSource)更新UIImageView,它应该可以工作。

我的代码确实没那么多。