首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift:如何仅更改<img>或webView中的图像大小

Swift:如何仅更改<img>或webView中的图像大小
EN

Stack Overflow用户
提问于 2016-06-03 07:24:22
回答 4查看 3K关注 0票数 4

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

在第一张图片中,您可以看到图像是小的,因为设置为它的内联样式的小尺寸。但是第二张图像更大,所以图像不受约束。

是否有任何方法控制图像的宽度等于屏幕宽度/ UIWebview宽度?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-06-16 07:51:23

下面是我用来省略HTML中宽度和高度的代码。然后uiwebview调整屏幕宽度内的图像。

代码语言:javascript
复制
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
}
票数 4
EN

Stack Overflow用户

发布于 2018-05-25 07:03:57

您可以将样式添加到HTML主体:

代码语言:javascript
复制
let styleContent = "<html><head><style>img{width:100%;};</style></head>" 
+ "<body style='margin:0; padding:0;'>" + (your html body) + "</body></html>";
票数 3
EN

Stack Overflow用户

发布于 2018-10-31 16:07:44

以下是HTMLImageCorrector的快速4版本:

代码语言:javascript
复制
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
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37608366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档