Ios 在UIScrollView滚动时暂停任何操作
我有一个大的分页UIScrollView,里面有几个图像和视图。我试图实现的是在用户浏览页面时暂停任何后台操作。我需要这个,因为该应用程序正在下载和计算的东西和滑动动画是不顺利的 有什么想法吗Ios 在UIScrollView滚动时暂停任何操作,ios,objective-c,uiscrollview,Ios,Objective C,Uiscrollview,我有一个大的分页UIScrollView,里面有几个图像和视图。我试图实现的是在用户浏览页面时暂停任何后台操作。我需要这个,因为该应用程序正在下载和计算的东西和滑动动画是不顺利的 有什么想法吗 谢谢您可以使用NSOperationQueue并捕获UIScrollView委托中的滚动事件来暂停/继续操作 - (void)viewDidLoad{ [super viewDidLoad]; queue=[[NSOperationQueue alloc]init]; NS
谢谢您可以使用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更新 根据你的描述 “滑动动画不平滑”
您正在主线程上下载图像。是否在uiscrollview图像中实现了延迟加载?从你的问题来看,我想你需要延迟加载图像,这会让你的滚动视图在滚动时被击中。我已经在下载和使用队列绘制图像了。事实上,我在后台做了很多事情。我想暂停所有的发言,因为我无法控制一切,也不是所有的发言都在一个众所周知的队列中。在后台下载中显示一些代码