2013-02-04 116 views
0

我正在嘗試使用UIImageView來開啓和關閉燈泡動畫。我有兩個圖像,一個是發光的,另一個沒有。這應該是非常簡單的,我確信我以前沒有問題,但是我的代碼不工作。這裏是我有什麼:UIImageView動畫無法正常工作

UIImage *glow = [UIImage imageNamed:@"Glow.png"]; 
UIImage *noGlow = [UIImage imageNamed:@"No Glow.png"]; 
NSArray *images = [NSArray arrayWithObjects:noGlow, glow, nil]; 

self.lampImage.animationImages = images; 
self.lampImage.animationDuration = 1.0; 

[self.lampImage startAnimating]; 

NSLog(@"%d", self.lampImage.isAnimating); // prints 1 
NSLog(@"%d", self.lampImage.animationRepeatCount); // prints 0 

目前,我有這個代碼在我的viewDidLoad。如果我使用上面的代碼運行應用程序,我所看到的只是NoGlow圖像。如果我交換圖像數組中的順序(發光,不發光,無),然後再次運行應用程序,我只會看到發光圖像。

根據日誌,它是動畫和重複計數爲0,這意味着它應該保持動畫無限期。爲什麼我沒有看到任何動畫?

我在iOS 5.1和6.1模擬器中測試了這兩個結果。

+0

您是否檢查兩張圖片是否不爲零?我試了一下代碼,它爲我工作。檢查你的圖像是否加載,而不是零。如果在xib文件中創建,請檢查名爲lampImage的imageView是否已連接。 – NDY

+0

嘗試添加一個動畫計數和一個自動反轉以確保它在視圖可見之前不會動畫。 – Eric

+0

我在viewDidLoad方法Eric中試過了,它在我的測試項目中工作。 – NDY

回答

1

也許你的錯誤是你的文件或圖像名稱的不同名稱。 嘗試將No Glow.png文件重命名爲No_Glow.png,以便不會出錯

+1

只是爲了讓其他人讀清楚。用文件名中的空格命名文件是沒有問題的! – NDY

+0

非常值得推薦的是永遠不要使用空格作爲文件名! –

+0

是的,這不是確切的答案,但它是幫助我解決問題的答案。我的圖像被命名爲「NoGlow.png」,但在我的代碼中,我將它引用爲「No Glow.png」。我經常在Xcode項目中使用圖像,這些圖像在名稱中有一個空格,並且沒有任何問題。 – beev