我正在从一个服务器获得HTML,并将其显示在一个UIWebView.The“缩放页面适合”选项是没有选择的,因为需求。UIWebView宽度等于屏幕宽度,高度随内容而变化。HTML中的图像标记包含一些内联样式,这在webView视图中造成了一些问题。截图附呈


在第一张图片中,您可以看到图像是小的,因为设置为它的内联样式的小尺寸。但是第二张图像更大,所以图像不受约束。
是否有任何方法控制图像的宽度等于屏幕宽度/ UIWebview宽度?
发布于 2016-06-16 07:51:23
下面是我用来省略HTML中宽度和高度的代码。然后uiwebview调整屏幕宽度内的图像。
func HTMLImageCorrector(HTMLString: String) -> String {
var HTMLToBeReturned = HTMLString
while HTMLToBeReturned.rangeOfString("(?<=width=\")[^\" height]+", options: .RegularExpressionSearch) != nil{
if let match = HTMLToBeReturned.rangeOfString("(?<=width=\")[^\" height]+", options: .RegularExpressionSearch) {
HTMLToBeReturned.removeRange(match)
if let match2 = HTMLToBeReturned.rangeOfString("(?<=height=\")[^\"]+", options: .RegularExpressionSearch) {
HTMLToBeReturned.removeRange(match2)
let string2del = "width=\"\" height=\"\""
HTMLToBeReturned = HTMLToBeReturned.stringByReplacingOccurrencesOfString( string2del, withString: "")
}
}
}
return HTMLToBeReturned
}发布于 2018-05-25 07:03:57
您可以将样式添加到HTML主体:
let styleContent = "<html><head><style>img{width:100%;};</style></head>"
+ "<body style='margin:0; padding:0;'>" + (your html body) + "</body></html>";发布于 2018-10-31 16:07:44
以下是HTMLImageCorrector的快速4版本:
func HTMLImageCorrector(HTMLString: String) -> String {
var HTMLToBeReturned = HTMLString
while HTMLToBeReturned.range(of: "(?<=width=\")[^\" height]+", options: .regularExpression) != nil{
if let match = HTMLToBeReturned.range(of:"(?<=width=\")[^\" height]+", options: .regularExpression) {
HTMLToBeReturned.removeSubrange(match)
if let match2 = HTMLToBeReturned.range(of:"(?<=height=\")[^\"]+", options: .regularExpression) {
HTMLToBeReturned.removeSubrange(match2)
let string2del = "width=\"\" height=\"\""
HTMLToBeReturned = HTMLToBeReturned.replacingOccurrences(of:string2del, with: "")
}
}
}
return HTMLToBeReturned
}https://stackoverflow.com/questions/37608366
复制相似问题