2013-04-16 17 views
-1

我構建了一個應用程序,用於下載文件,同時下載正在運行我想要一個簡單的圖形,像以前一樣使用動畫Gif進行旋轉。如何在後臺線程中放置代碼

所以我有代碼加載此圖像,旋轉此圖像一小部分,然後重新顯示它。

我希望在下載激活時繼續旋轉。

我已經看了很多網絡代碼,但我想我對過多的信息感到困惑。有沒有簡單的方法來做到這一點。

我假設我必須有一個內置的方法來做旋轉和重新顯示,我可以在這個後臺進程中循環,同時我繼續下載,然後在下載結束時跳出後臺任務。

樣的實例代碼,我跑現在如下: 的下載

 NSString *imagefile = [NSString stringWithFormat:@"https://imoonaws.com/glold/data/%@/mid.png", Path]; 
    NSURL *url1=[NSURL URLWithString:imagefile]; 
    NSData *data1 = [NSData dataWithContentsOfURL:url1]; 
    [data1 writeToFile:fullPath atomically:YES]; 

和圖像旋轉

UIImage *image = [UIImage imageNamed: @"Icon.png"]; 

UIImage *rotatedImg = [image imageRotatedByDegrees:18]; 
[_image setImage:rotatedImg]; 

回答

1
NSString *imagefile = [NSString stringWithFormat:@"https://imoonaws.com/glold/data/%@/mid.png", Path]; 
NSURL *url1=[NSURL URLWithString:imagefile]; 
NSData *data1 = [NSData dataWithContentsOfURL:url1]; 

那麼,不要那樣做!這是同步下載。正如我在我的書(http://www.apeth.com/iOSBook/ch37.html#_http_requests)中解釋的那樣,異步下載。

UIImage *image = [UIImage imageNamed: @"Icon.png"]; 
UIImage *rotatedImg = [image imageRotatedByDegrees:18]; 
[_image setImage:rotatedImg]; 

不要那樣做!要旋轉圖像視圖,請不要更改圖像,這將要求您在主線程上反覆輪詢;給它一個旋轉動畫,讓我們走吧!動畫在我的書中解釋:http://www.apeth.com/iOSBook/ch17.html - 我向你們展示瞭如何做旋轉動畫以及如何永久重複(以及如何在時間到時停止動畫)。

1

我想我必須有一個方法建立

不要假設。做下載並做動畫。如果您正在正確下載,則在後臺。如果你正在做動畫,它是在它自己的(不同的)線程中。沒有問題。

你不說什麼不工作,或者是否有什麼不工作,並且你沒有顯示任何代碼,那麼還有什麼可以說的?你有沒有真正的問題?

+0

我希望能夠舉一個簡單的例子來說明如何將它分成兩個任務,一個在後臺,另一個在前臺。 –

+0

我告訴你,如果你下載並動畫正確,它*是*兩項任務(實際上都是在後臺)。 – matt

+0

感謝您的時間,我會更徹底地研究它,顯然我做得不對。有點希望有一個通用的結構被射擊。我現在還在繼續努力 –

相關問題