当前位置:  开发笔记 > 编程语言 > 正文

从NSData对象将图像加载到UIWebView的正确方法

如何解决《从NSData对象将图像加载到UIWebView的正确方法》经验,为你挑选了2个好方法。

我已经将一个gif图像下载到一个NSData对象中(我已经检查了NSData对象的内容并且它已经填充了).现在我想将该图像加载到我的UIWebView中.我尝试过以下方法:

[webView loadData:imageData MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];

但我得到一个空白的UIWebView.直接从同一URL加载图像可以正常工作:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:imageUrl]];
[imageView loadRequest:request];

我是否需要将textEncodingName设置为某个内容,或者我是否在做其他错误的操作?

我想手动加载图像,以便向用户报告进度,但它是一个动画gif,所以当它完成后我想在UIWebView中显示它.

编辑:也许我需要以某种方式将我的图像包装在HTML中?有没有办法在不必将其保存到磁盘的情况下执行此操作?



1> Costique..:

我用PNG("image/png"),JPG("image/jpeg")和GIF("image/gif")测试了代码,它按预期工作:

[webView loadData:imageData MIMEType:imageMIMEType textEncodingName:nil baseURL:nil];

现在,你的应用程序出了什么问题?

imageData不是格式良好的图像数据.尝试使用Web浏览器或图像编辑器打开文件进行检查.

MIME类型不正确.查看数据的第一个字节以确定实际的文件类型.

webView未在IB中连接,为零,隐藏,用另一个视图覆盖,在屏幕外,有CGRectZero框架等.



2> vodkhang..:

我没有真正尝试将图像加载到UIWebView,但谷歌搜索给了我.我认为你的图像字符串必须有一个好的路径,看起来像一个URL

NSString *imagePath = [[NSBundle mainBundle] resourcePath];
imagePath = [imagePath stringByReplacingOccurrencesOfString:@"/" withString:@"//"];
imagePath = [imagePath stringByReplacingOccurrencesOfString:@" " withString:@"%20"];

NSString *HTMLData = @"

Hello this is a test

"; [webView loadHTMLString:HTMLData baseURL:[NSURL URLWithString: [NSString stringWithFormat:@"file:/%@//",imagePath]]];

您可以在此处查看更多详细信息:将本地文件加载到UIWebView

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有