Grz*_*icz 8 png jpeg progressive-download uiimageview ios
从网上下载图像并在UIImageView中显示它是相当容易的.但是,这需要在向用户显示图像之前完全下载图像,从而完全击败渐进式JPEG(和PNG)图像.
如何在传输过程中渲染部分下载的图像?我会想象SDK有一些回调函数可以更新图像,但我找不到这样的功能.使用当前的iOS SDK是否可行?
Rap*_*sso 10
我知道这篇文章有大约1年的时间,但万一有人在寻找它,有一个名为NYXImagesKit的项目可以满足您的需求.
它有一个名为NYXProgressiveImageView
的子类,是它的子类UIImageView
.
你所要做的就是:
NYXProgressiveImageView * imgv = [[NYXProgressiveImageView alloc] init];
imgv.frame = CGRectMake(0, 0, 320, 480);
[imgv loadImageAtURL:[NSURL URLWithString:@"http://yourimage"]];
[self.view addSubview:imgv];
[imgv release];
Run Code Online (Sandbox Code Playgroud)
此外,一个很好的选择是将图像保存为interlaced
低质量加载并通过下载进行改进.如果图像没有交错,则从上到下加载.
您是否尝试在 didReceiveData 被称为 \xe2\x80\xa6 时部分渲染 UIImage ?类似于 \xe2\x80\xa6
\n\n-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data\n{\n //TODO: add some error handling in case the image could not be created\n UIImage *img=[UIImage imageWithData:data];\n if (img) {\n self.imageView.image=img;\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n