I am using lazy loading to show images on a table view. But I need to create a tableview with multiple images in every cell.Which can be scrolled. All images are loaded from server only How can I create this without any lagging for table scrolling ? Is there any tutorial available for this
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Try this code. SDWebImage. It downloads image from server and save it to device cache.
Also if you don't want save it to cache then you might have a look at AFNetworking
.
回答2:
There is another option. Using GCD (Grand Central Dispatch)
.
Example Code :
// Get the filename to load.
NSString *imageFilename = [imageArray objectAtIndex:[indexPath row]];
NSString *imagePath = [imageFolder stringByAppendingPathComponent:imageFilename];
[[cell textLabel] setText:imageFilename];
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
dispatch_sync(dispatch_get_main_queue(), ^{
[[cell imageView] setImage:image];
[cell setNeedsLayout];
});
});
Use the same for showing multiple images. Using this will increase the performance of loading tableview definitely.
Refer this to know more about GCD
回答3:
Try this https://github.com/nicklockwood/AsyncImageView .Easy to download images asyncronously from server.