ios webview怎么适配html的大小

ios webview怎么适配html的大小,第1张

一、图片自适应

1. 使用css进行图片的自适应

在web前端,也就是HTML中,如果只设置图片的宽度,那么高度会根据图片原本尺寸进行缩放

如果后台返回的HTML代码中,不包含<head>标签,则可以直接在HTML字符串前加上一下面的代码(如果包含<head>,则在<head>标签内部添加)。代码含义是,不管用户以前设置的图片尺寸是多大,都缩放到宽度为320px大小。

<head><style>img{width:320px !important}</style></head>

若需要根据图片原本大小,宽度小于320px的不缩放,大于320px的缩小到320px,那么在HTML字符串前加上一下代码:

<head><style>img{max-width:320px !important}</style></head>

2. 使用js进行图片的自适应

在webview的代理中,执行js代码。(下面这段代码是必须有<head>标签的)

如果没有<head>标签,也很简单,只需要给返回的HTML字符串前面拼接一个<head></head>即可。

- (void)webViewDidFinishLoad:(UIWebView *)webView

{

[webView stringByEvaluatingJavaScriptFromString: @"var script = document.createElement('script')"

"script.type = 'text/javascript'"

"script.text = /"function ResizeImages() { "

"var myimg,oldwidth,oldheight"

"var maxwidth=320"// 图片宽度

"for(i=0i maxwidth){"

"myimg.width = maxwidth"

"}"

"}"

"}/""

"document.getElementsByTagName('head')[0].appendChild(script)"]

[webView stringByEvaluatingJavaScriptFromString:@"ResizeImages()"]

}

二、文章内容自动换行

文章的自动换行也是通过css实现的,书写方式图片缩放类似。在没有<body>标签的情况下,在HTML代码前,直接拼接以下代码即可(若包含<body>,则将代码添加到body标签内部),意思是全部内容自动换行。

<body width=320px style=/"word-wrap:break-wordfont-family:Arial/">

用CSS可以实现效果。代码如下:

html{height:100%}

body{height:100%overflow:hidden}//overflow:hidden为隐藏滚动条

body{overflow:scroll}//如果内容高度大于屏幕就会显示滚动条

HTML5 是下一代的 HTML。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7062611.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存