0
用到的技术:的XCode 6 iOS8上,斯威夫特DELAY问题:如何在应用样式之前立即应用样式或不显示加载的网页?
我加载在一个UIWebView一个网页,我也追加了新的样式到网页的主体和覆盖它的一些风格。但是,在网页加载和样式应用之间存在延迟(可能为1秒或2秒),因此您可以在重新调整网页之前查看网页。我正在使用JavaScript将新样式附加到网页正文。我如何解决这个问题,以便网页只显示样式已经应用?这里是我的代码:
进口的UIKit
类SecondViewController:UIViewController中,UIWebViewDelegate {
@IBOutlet var website: UIWebView!
var url = "http://www.fake-website-url.net"
func loadUrl() {
let requestURL = NSURL(string: url)
let request = NSURLRequest(URL: requestURL!)
website.loadRequest(request)
}
override func viewDidLoad() {
super.viewDidLoad()
website.delegate = self
loadUrl()
}
func webViewDidFinishLoad(website: UIWebView) {
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)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
注意,我使用的是斯威夫特。
嗨埃里昂 - 感谢您的想法 - 你能给我一个类似的实现代码示例吗? – 2015-02-11 15:43:15
我从来没有使用过Swift,只是客观的c对不起。这就是为什么我没有包含任何代码。这是我发现的一个链接,可能会对你有所帮助。 http://blog.johnregner.com/post/103092814578/swift-properties-custom-setters-and-getters – 2015-02-11 16:28:07
谢谢埃里昂 - 我会看看那个博客... – 2015-02-12 05:30:59