ios table 按行索引顺序查看单元格加载图像
ios table view cell load images in the order of row index
在 table 视图中配置单元格,我使用
-(void)setImageWithURLRequest:(NSURLRequest *)urlRequest placeholderImage:(UIImage *)
来自 AFNetworking 的方法从网络加载单元格图像(将其放在 cellForRowAtIndexPath 中)
用户在加载时不会卡住滚动。
----------
问题是每张图片的显示顺序都是随机的
因为该方法发送异步请求,
但我要一个接一个显示,
例如第 1 行单元格中的图像必须在第 0 行单元格中的图像显示后显示,
等等
好像加载可以是异步的(而且必须是)...
但显示应该是同步的(按顺序!)
有没有简单的方法来做到这一点?
提前致谢
将图像的名称存储在一个数组中,并在 UITableView 的 cellForItemAtIndexPath() 方法中访问它。通过这种方式,您将获得正确的图像顺序。你不应该因为图片的大小不同而一张一张地显示图片(例如 - 如果图片大小以兆字节为单位,加载会花费很多时间,那个时间可以用来加载另一张图片)
NSURL *photoURL = [NSURL URLWithString:[[array objectAtIndex:indexPath.row] valueForKey:@"Image"]];
[cell.imgMyPhoto setImageWithURL:photoURL placeholderImage:nil usingActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
如果你想一个接一个地展示它们,你可以使用这段代码将执行顺序设置为 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"
在 table 视图中配置单元格,我使用
-(void)setImageWithURLRequest:(NSURLRequest *)urlRequest placeholderImage:(UIImage *)
来自 AFNetworking 的方法从网络加载单元格图像(将其放在 cellForRowAtIndexPath 中)
用户在加载时不会卡住滚动。
----------
问题是每张图片的显示顺序都是随机的
因为该方法发送异步请求,
但我要一个接一个显示,
例如第 1 行单元格中的图像必须在第 0 行单元格中的图像显示后显示, 等等
好像加载可以是异步的(而且必须是)...
但显示应该是同步的(按顺序!)
有没有简单的方法来做到这一点?
提前致谢
将图像的名称存储在一个数组中,并在 UITableView 的 cellForItemAtIndexPath() 方法中访问它。通过这种方式,您将获得正确的图像顺序。你不应该因为图片的大小不同而一张一张地显示图片(例如 - 如果图片大小以兆字节为单位,加载会花费很多时间,那个时间可以用来加载另一张图片)
NSURL *photoURL = [NSURL URLWithString:[[array objectAtIndex:indexPath.row] valueForKey:@"Image"]];
[cell.imgMyPhoto setImageWithURL:photoURL placeholderImage:nil usingActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
如果你想一个接一个地展示它们,你可以使用这段代码将执行顺序设置为 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"