2014-09-02 148 views
0

試圖繪製動畫的UIImage像這樣:如何繪製動畫UIImage?

// Image 
    UIImage *image = [UIImage animatedImageNamed:@"progress_" duration:0.5f]; 
    CGPoint imagePoint = CGPointMake(self.center.x - roundf(image.size.width/2.0f), self.center.y - roundf(image.size.height/2.0f) - boxHeight/8.0f); 
    [image drawAtPoint:imagePoint]; 

那是不行的,我只看到第一幀。 我試過相同的代碼,但將這個圖像分配給UIImageView,它的工作原理。

那麼,如何讓這個圖像工作?或者我如何在裏面繪製UIImageView?

回答

0

你真的不應該自己畫UIImageUIImageView,爲什麼?你需要的是將你的UIImageView作爲子視圖並讓它自己繪製,這就是事情的一般工作方式。

+0

我試圖做一個平視顯示器,使用MBProgressHUD作爲例子。 – katit 2014-09-02 22:56:04

+0

基本上,當有一些實際的自定義繪圖要做的時候,你可以重寫'-drawRect:',如幻想指標,形狀等等。這通常涉及抓取圖形上下文並使用QuartzCore執行一些操作。 MBProgressHUD就是一個很好的例子,因爲它們不會爲圖形使用任何圖像。但是,在處理諸如顯示圖像之類的東西時,依靠視圖層次結構確實更容易 - 您可以從Core Animation和Auto Layout的強大功能中受益。 – Nicky 2014-09-02 23:04:52