首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iphone刷新图片UIImageView

iphone刷新图片UIImageView
EN

Stack Overflow用户
提问于 2009-06-17 13:01:29
回答 4查看 6.3K关注 0票数 1

我有一个相当基本的问题。我的屏幕上有几(5)个UIImageView图像。当我单击一个按钮时,我想要将每个图像更改为其他图像。我还想在每个图像发生变化时播放声音。

所以我基本上想要随着每个图像的变化而发出滴答声。

问题是,出于某种原因,如果我有5张图片,

声音首先会播放5次,然后图像会发生变化。

这就像只有当控制权返回给用户进行输入时,图像才会刷新。

当我告诉它要显示什么图像时,我如何“强制”它刷新图像呢?

我刚接触iphone/macworld,所以别对我太客气:-)

瑞克

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-06-17 14:09:31

它就像图像只有在控制权返回给用户进行输入时才会刷新。

这就是发生的事情。UI是在主线程上更新的,所以在代码运行时不会发生更新。

为了实现你想要的,你需要计时器。请看一下NSTimer文档。您需要创建一个计时器,该计时器触发一个方法来更改第二个图像,然后重新排队一个计时器来更改第三个图像。有一种方便的方法可以创建所需的计时器:+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)seconds target:(id)target selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)repeats

代码语言:javascript
复制
[NSTimer timerWithTimeInterval:1.0f target:self selector:@selector(updateImage2:) userInfo:nil repeats:NO];

然后,您就有了一个方法:

代码语言:javascript
复制
- (void) updateImage2(NSTimer*)theTimer
{

     //Update image 2 here
     // play sound 2 here

    [NSTimer timerWithTimeInterval:1.0f target:self selector:@selector(updateImage3:) userInfo:nil repeats:NO];
}

我将留给您来实现方法updateImage3:;-)

像这样运行更新给了主线程一个更新UI的机会。

票数 0
EN

Stack Overflow用户

发布于 2010-12-25 11:40:30

如果您正在寻找一种定期刷新UIImageView的方法,您可以参考以下内容:http://www.shanison.com/2010/12/25/uiimageview-load-remote-image/

票数 1
EN

Stack Overflow用户

发布于 2009-06-17 14:07:05

听起来你很可能是在异步播放声音的同时从磁盘或网络上加载图像。也许你正在和UIImage +imageWithContentsOfURL:一起使用AudioServicesPlaySystemSound?实际的图像加载和声音播放代码在这里最有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1006866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档