Swift & UIWebView 元素隐藏
Posted
技术标签:
【中文标题】Swift & UIWebView 元素隐藏【英文标题】:Swift & UIWebView element to hide 【发布时间】:2015-09-02 14:28:28 【问题描述】:我有一个 UIWebView 并像这样加载内容
let url = NSURL (string: "http://www.myresponsivesite.fr/section/");
let requestObj = NSURLRequest(URL: url!);
webView.loadRequest(requestObj);
它运行良好,但我想将一些 div 和其他元素不显示。所以我的问题是:如何快速从我的应用程序中注入一些 CSS? 谢谢。
【问题讨论】:
【参考方案1】:我终于找到了另一种方法,我将我的 html 加载到一个变量中,并将一些 div 替换为“display:none”示例:
let urlDeBase = "http://mywebsite/section/"
if let url = NSURL (string: urlDeBase)
var error: NSError?
let myHTML = String(contentsOfURL: url, encoding: NSUTF8StringEncoding, error: &error)
我替换我想要的
let mystring = myHTML?.stringByReplacingOccurrencesOfString("<h3 class=\"myclass\">Menu</h3>", withString: "<h3 class=\"myclass\" style=\"display:none\">Menu</h3>")
webvieww.loadHTMLString(mystring, baseURL: nil)
【讨论】:
【参考方案2】:我发现了一些关于它的帖子和 Apple 文档,here 是一个解决方案:
所以,我想我至少找到了一种方法来完成将样式附加到使用 Swift 加载的网页:
var loadStyles = "var script =
document.createElement('link');
script.type = 'text/css';
script.rel = 'stylesheet';
script.href = 'http://fake-url/styles.css';
document.getElementsByTagName('body')[0].appendChild(script);"
website.stringByEvaluatingjavascriptFromString(loadStyles)
这是另一个帖子:Swift stringByEvaluatingJavaScriptFromString
然后是Apple docs。
【讨论】:
如果我理解的话,var 将创建一个 css 文件,所以如果我在 var 中再添加一行:“script.text = #myId display : none; ” 是好吗? 我真的不能说,我没有任何经验。你将不得不解决它。我试图找到关于它是如何工作的信息,但我找不到任何信息。以上是关于Swift & UIWebView 元素隐藏的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用 UIWebView 的情况下在 iOS 10 中显示带有 HTML 标签的文本(使用 swift)
在 UITableview swift 中使用 UILabel 和 UIWebView 设置 heightForRow
swift - UIWebView 和 WKWebView(iOS12 之后替换UIWebView)