我有一个大的分页的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