我已经将一个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中?有没有办法在不必将其保存到磁盘的情况下执行此操作?
我用PNG("image/png"),JPG("image/jpeg")和GIF("image/gif")测试了代码,它按预期工作:
[webView loadData:imageData MIMEType:imageMIMEType textEncodingName:nil baseURL:nil];
现在,你的应用程序出了什么问题?
imageData不是格式良好的图像数据.尝试使用Web浏览器或图像编辑器打开文件进行检查.
MIME类型不正确.查看数据的第一个字节以确定实际的文件类型.
webView未在IB中连接,为零,隐藏,用另一个视图覆盖,在屏幕外,有CGRectZero框架等.
我没有真正尝试将图像加载到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