我在从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
答案 0 :(得分:0)
您是否知道从不同于创建UIImageView的线程更新GUI?您可以在主线程上执行选择器来解决此问题。
请看一下performSelectorOnMainThread方法。只需从NSTimer触发时调用的方法(readSource :)调用它,并为其提供要显示的图像。然后只需从THAT选择器(而不是readSource)更新UIImageView,它应该可以工作。
我的代码确实没那么多。