2012-04-29 72 views
1

嗯,我有一个UIImageview在我的意见之一。我想每10秒更换一次图像,但我不知道如何制作图像。试图改变一个UIImageView每10秒

有什么建议吗?

+0

使用的NSTimer然后,和10秒提供时间和相应地更改您的图片... – Sabby 2012-04-29 09:34:30

+0

http://stackoverflow.com/questions/17750827/changing-uiimage-with-nstimer – 2015-04-17 10:19:08

回答

4

您将需要使用计时器。

NSTimer *timer = [NSTimer timerWithTimeInterval:10 target:self selector:@selector(changeImage) userInfo:nil repeats:true]; 

和实施改变图像的方法:

- (void) changeImage { 
    imageView.image = newImage; 
} 

你可以把这个计时器到视图控制器包含您的ImageView或者你也可以继承的ImageView,让它管理自己的形象本身(如果有特别有用多个独立的ImageView需要改变其图像

13

第一创建图像的阵列。

NSArray *images = [NSArray arrayWithObjects:[UIimage imagenamed:@"image1.png"],[UIimage imagenamed:@"image2.png"],[UIimage imagenamed:@"image3.png"],[UIimage imagenamed:@"image4.png"]]]; 

然后设置数组的UIImageViews “animationImages” 属性

imageView.animationImages = images; 

将时间设置为动画。

imageView.animationDuration = 10; 

开始动画..

[imageView startAnimating]; 

要停止动画只是这样做

[imageView stopAnimating]; 

很简单..

+0

+1正确答案 - 无需重新发明轮子来完成此类任务。 – Till 2012-04-29 09:48:56

+1

看起来像这可能会导致内存问题,如果图像很大,但这是真正的小图像的最佳解决方案 – Lope 2012-04-29 09:50:15