2014-03-07 95 views
0

我有一個大的分頁的UIScrollView與幾個圖像和視圖。我試圖達到的目的是在用戶瀏覽頁面時暫停任何後臺操作。我需要這個,因爲該應用程序正在下載和計算的東西,刷卡動畫並不順利。UIScrollView滾動時暫停任何操作

任何想法?

感謝

+0

你在uiscrollview圖像中實現了延遲加載..?從你的問題,我想你需要與延遲加載的圖像,使您的滾動視圖滾動.. – RAJA

回答

1

您可以使用NSOperationQueue,趕上在UIScrollView的委託暫停/繼續運作的滾動事件。

- (void)viewDidLoad{ 
    [super viewDidLoad]; 
    queue=[[NSOperationQueue alloc]init]; 

    NSBlockOperation *intenseOperation=[NSBlockOperation blockOperationWithBlock:^{ 
     //do intense stuff 
    }]; 

    [queue addOperation:intenseOperation]; 
} 

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ 
     [queue setSuspended:NO]; 
} 
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ 
     [queue setSuspended:YES]; 
} 
1

您應該以相反的方式思考。

一旦圖像在後臺下載,然後使用主線程在UI中進行更新。

主線程正在處理UI更新。

根據您的描述,

「的刷卡動畫不順暢」

您是在主線程下載圖像。

+0

我已經下載和使用隊列繪製圖像。事實是,我在背景中做了很多(很多)東西。我想暫停一切,因爲我沒有控制一切,並不是每件事都在一個衆所周知的隊列中。 – user3355209

+0

你到現在爲止所嘗試過的。在後臺下載中顯示一些代碼 –