我有一个大的分页UIScrollView,其中包含多个图像和视图。我想要实现的是在用户浏览页面时暂停任何后台操作。我需要这个,因为应用程序正在下载和计算内容,并且滑动动画不顺畅。
有什么想法吗?
由于
答案 0 :(得分:1)
您可以使用NSOperationQueue并捕获UIScrollView委托中的scroll事件来暂停/继续操作。
- (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 :(得分:1)
你应该以相反的方式思考。
图像在后台下载后,使用主线程在UI中更新。
主线程正在处理UI更新。
根据您的说明,
“滑动动画不顺畅”
您正在主线程上下载图像。