在表格视图中配置单元格,我使用
-(void)setImageWithURLRequest:(NSURLRequest *)urlRequest placeholderImage:(UIImage *)
AFNetworking 的方法,用于从网络加载单元格图像(将其放入cellForRowAtIndexPath)
用户在加载时不会卡住滚动。
- - - - - - - - - -
问题是每个图像都以随机顺序显示
因为此方法发送异步请求,
但是我希望它们一个接一个地显示,
例如第1行单元格中的图像必须显示在第0行单元格中的图像后, 等等
它可能是异步的(并且必须是)...
但显示应该是同步的(按顺序排列!)
有一种简单的方法吗?
提前致谢
答案 0 :(得分:1)
将图像的名称存储在数组中,并在UITableView的 cellForItemAtIndexPath()方法中访问它。通过这种方式,您将获得正确的图像顺序。由于图像大小不同,您不应该一个接一个地显示图像(例如 - 如果图像大小以兆字节为单位,则需要花费大量时间加载,该时间可用于加载其他图像)
NSURL *photoURL = [NSURL URLWithString:[[array objectAtIndex:indexPath.row] valueForKey:@"Image"]];
[cell.imgMyPhoto setImageWithURL:photoURL placeholderImage:nil usingActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
答案 1 :(得分:0)
如果要逐个显示它们,可以使用此代码将执行顺序设置为FIFO,这将为您提供所需的输出。
[[[SDWebImageManager sharedManager] imageDownloader] setExecutionOrder:SDWebImageDownloaderFIFOExecutionOrder];
您可以使用Utsav Parikh上面提到的这种方法
NSURL *photoURL = [NSURL URLWithString:[[array objectAtIndex:indexPath.row] valueForKey:@"Image"]];
[cell.imgLogo setImageWithURL :photoURL placeholderImage : kPhotoPlaceholder usingActivityIndicatorStyle : UIActivityIndicatorViewStyleGray];
但不要忘记导入头文件
#import "UIImageView+UIActivityIndicatorForSDWebImage.h"