我有一個大的分頁的UIScrollView與幾個圖像和視圖。我試圖達到的目的是在用戶瀏覽頁面時暫停任何後臺操作。我需要這個,因爲該應用程序正在下載和計算的東西,刷卡動畫並不順利。UIScrollView滾動時暫停任何操作
任何想法?
感謝
我有一個大的分頁的UIScrollView與幾個圖像和視圖。我試圖達到的目的是在用戶瀏覽頁面時暫停任何後臺操作。我需要這個,因爲該應用程序正在下載和計算的東西,刷卡動畫並不順利。UIScrollView滾動時暫停任何操作
任何想法?
感謝
您可以使用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];
}
您應該以相反的方式思考。
一旦圖像在後臺下載,然後使用主線程在UI中進行更新。
主線程正在處理UI更新。
根據您的描述,
「的刷卡動畫不順暢」
您是在主線程下載圖像。
我已經下載和使用隊列繪製圖像。事實是,我在背景中做了很多(很多)東西。我想暫停一切,因爲我沒有控制一切,並不是每件事都在一個衆所周知的隊列中。 – user3355209
你到現在爲止所嘗試過的。在後臺下載中顯示一些代碼 –
你在uiscrollview圖像中實現了延遲加載..?從你的問題,我想你需要與延遲加載的圖像,使您的滾動視圖滾動.. – RAJA