IOS UIwebView 加载网络图片 使用相对地址
方法一:
在html文件内直接使用file:///user//xx//image.png的绝对路径
注:这样可以显示图片,但是如果在程序目录修改,图片就不能显示
方法二:
在html使用占位符,如:在html内使用<image src="file:/[myimage]" height="200" width="320">
在加载html文本的时候,replace这个占位符
代码如下:
string htmlpath=Path.GetFullPath("Docs/Detail.html");//根据html的相对路径获取html文件的绝对路径
string htmltext=File.OpenText(htmlpath).ReadToEnd();//读取html的内容
string imagepath=Path.GetFullPath("Images/image.png").Replace("/","//").Replace(" ","%20");//读取图片的绝对路径后替换掉单斜杠和空格
htmltext=htmltext.Replace("[myimage]",imagepath);//将html内容内的image占位符替换成正确的路径
webview.LoadHtmlString(htmltext,null);//webview加载html内容
注:如果图片过多则处理很麻烦,只能做例子写写,不能真正使用
方法三:
使用webview.LoadHtmlString(htmltext,BaseUrl);//BaseUrl:sets the main page content and base Url
在方法三中,我们在html文件中图片地址只用使用相对地址了 <image src="Images/image.png" height="200" width="320">
代码:
NSUrl BaseUrl=new NSUrl(Path.GetFullPath("."),true);//获取程序的根目录路径
webview.LoadHtmlString(htmltext,BaseUrl);//使用此重载方法的时候,图片的路径或自动处理成BaseUrl+image.src,这样图片就能正常显示了
例如:
UIWebView *twoWebView =[[UIWebView alloc]initWithFrame:CGRectMake(, , , )];
jsString = [NSStringstringWithFormat:@"<html> \n"
"<head> \n"
"<style type=\"text/css\"> \n"
"body {font-size:%fpx; line-height:%fpx;background-color: transparent;}\n"
"</style> \n"
"</head> \n"
"<body>%@</body> \n"
"</html>", fontSize ,line_height,htmlText];
NSURL *urlBai=[NSURLURLWithString:@"http://42.96.192.186"];
[showWebView loadHTMLString:jsString baseURL: urlBai];
[webView addSubview:twoWebView];
注:在使用次方法的时候,html更容易处理,程序也容易处理
综述:在以上三种方法种,第三种方法最优
IOS UIwebView 加载网络图片 使用相对地址的更多相关文章
- ios UIWebView加载HTMLStr图文,关于图片宽高设置,webView内容实际高度的踩坑问题
一.关于UIWebView 与 WKWebView 选取问题 从发布时间看: 2008年7月11日,在新一代iPhone3G正式发售当天,iPhone OS 2.0(iOS 2.0)推出,这时候就有U ...
- iOS UIWebView 加载进度条的使用-WKWebView的使用,更新2017.6.26
1.由于项目中加载网络插件,直接使用了webview加载.使用了三方NJKWebViewProgress进度条的使用,近期在测试时发现,网络缓慢时出现白屏,有卡顿现象. 于是采用了WKWebView进 ...
- IOS延时加载网络图片
重网上下载图片是很慢的,为了不影响体验,选择延时加载图片是很好的办法. 一个tableView 列表,左边暂时没有图 - (UITableViewCell *)tableView:(UITab ...
- 关于iOS UIWebView 加载网页,点击网页内某些控件导致 Application 'UIKitApplication:xxx.xxx.xxx' was killed by jetsam.
问题:公司用的腾讯问卷系统,内嵌在我们应用或游戏的自定义UIWebView里面展示,发现在iOS 10 以下系统,点击圆形勾选框 会大概率出现闪退. 通过联调发现:报了这样一个警告Applicatio ...
- iOS UIWebView加载时添加进度条
标注:此框架仅适合UIWebView 对iOS8后新出的WKWebView不适用,当然,你可以尝试修改框架里的几个代理方法. 框架是:NJKWebViewProgress 导入头文件 #import ...
- iOS UIWebView加载时添加进度条01
标注:此框架仅适合UIWebView 对iOS8后新出的WKWebView不适用,当然,你可以尝试修改框架里的几个代理方法. 框架是:NJKWebViewProgress 导入头文件 #import ...
- 【iOS进阶】UIWebview加载搜狐视频,自动跳回客户端 问题解决
UIWebview加载搜狐视频,自动跳回搜狐客户端 问题解决 当我们用UIWebview(iOS端)加载网页视频的时候,会发现,当真机上有搜狐客户端的时候,会自动跳转到搜狐客户端进行播放,这样的体验对 ...
- 【iOS系列】-UIWebView加载网页禁止左右滑动
[iOS系列]-UIWebView加载网页禁止左右滑动 问题: 做项目时候,用UIWebView加载网页的时候,要求是和微信网页中打开的网页的效果一样,也即是只能上下滑动,不能左右滑动,也不能缩放. ...
- ios UIImageView异步加载网络图片
方法1:在UI线程中同步加载网络图片 UIImageView *headview = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 40, 4 ...
随机推荐
- 内存中的static、const实现形式
最近在考虑下半年找工作的事情,看了不少面试题目,其中还是蛮有收获的,把基础好好复习了一遍.比如这个题目,static.const现形式,static和const类型的变量在写程序的时候也写了很多,不过 ...
- ArcGIS Desktop10.2与CityEngine2012兼容问题
要培训ArcGIS Desktop和Esri CityEngine2012.在一台机器上装好Desktop10.2之后,在注册Esri CityEngine2012时报出了"7019:Inv ...
- LeetCode 刷题记录
写在前面:因为要准备面试,开始了在[LeetCode]上刷题的历程.LeetCode上一共有大约150道题目,本文记录我在<http://oj.leetcode.com>上AC的所有题目, ...
- Add mappings to an Elasticsearch index in realtime
Changing mapping on existing index is not an easy task. You may find the reason and possible solutio ...
- (剑指Offer)面试题24:二叉搜索树的后序遍历序列
题目: 输入一个整数数组,判断该数组是不是某个二叉搜索树的后序遍历的结果,如果是则返回true,否则返回false. 假设输入的数组的任意两个数字都互不相同. 思路: 根据二叉搜索树的后序遍历特点,很 ...
- 一些关于Block, ARC, GCD的总结
基础解释不做.基础的东西链接如下: 1. Block:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Bl ...
- Android平台NDK编程
转自:http://blog.csdn.net/wangbin_jxust/article/details/37389383 之前在进行cocos2dx开发时,已经详细介绍了如何将win32的c++代 ...
- Scrum Planning Card
最近用Swift写了个小工具Scrum Planning Card,如果你也用scrum管理项目, 或许用这个工具可以提高你的工作效率. 另外欢迎提建议和反馈,谢谢. 欢迎关注我的微信公众号 Hope ...
- iOS10适配知识点
http://ios.jobbole.com/89551/ http://ios.jobbole.com/88982/ 2.隐私数据访问问题 问题出现 现在app能运行了,当我打开相机时突然又cras ...
- nslookup 查询IPv6
> nslookup> set type=AAAA > ipv6 domain name (ipv6.google.com, time.buptnet.edu.cn)