EGOImageView 滚动无法加在图片

场景:每个cell中有一个EGOImageView

问题的现象:在滚动时,无法加载图片;滚动一停止,很快就加载成功。

原理:

[plain] view plain copy
  1. 主线程中一个NSTimer添加在default mode中,当界面上有一些scroll view的滚动频繁发生导致run loop运行在UItraking mode中,从而这个timer没能如期望那般的运行。所以,我们就可以把这个timer加到NSRunLoopCommonModes中来解决(iOS中)。  

解决方法:来源

EGOImageLoader/EGOImageLoadConnection.m

line57

 - _connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];

 + _connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO];

 + [_connection scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];

 + [_connection start];


EGOImageLoader/EGOImageLoader.m

line136

 - [connection performSelector:@selector(start) withObject:nil afterDelay:0.01];

 + [connection performSelector:@selector(start) withObject:nil afterDelay:0.01 inModes:[NSArray arrayWithObject:NSRunLoopCommonModes]];



你可能感兴趣的:(EGOImageView)