2012-04-29 63 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