我正在使用Swift和WKWebView为应用创建嵌入式视图。我被困在添加和显示UIProgressView(我的子视图)。
每当我在故事构建器上添加它(在视图顶部)然后运行应用程序时它就不会显示因为我的代码(我将self.view与我创建的WKWebView实例相关联)。
我因此尝试了替代方法并以编程方式添加它,但也无法正常工作。
这是我的代码(对于第一种方法,只是忽略UIProgressView的编程声明):
import UIKit
import WebKit
class SupportWebView: UIViewController, WKNavigationDelegate {
@IBOutlet var containerView : UIView? = nil
@IBOutlet var progressView : UIProgressView? = nil
var webView: WKWebView?
dynamic var myProgress: Double = 0
private var myContext = 0
override func loadView() {
super.loadView()
self.webView = WKWebView()
self.view = self.webView
self.webView?.navigationDelegate = self
self.webView?.addObserver(self, forKeyPath: "estimatedProgress", options: .New, context: &myContext)
let progressView = UIProgressView(progressViewStyle: .Bar)
progressView.center = view.center
progressView.progress = 20.0/30.0
progressView.trackTintColor = UIColor.lightGrayColor()
progressView.tintColor = UIColor.blueColor()
self.webView?.addSubview(progressView)
// self.webView.addSubview(progressView)
}
我尝试以编程方式将UIProgressView添加到WKWebView视图,但它不起作用..有关如何解决此问题的任何建议吗?它似乎只显示主WKWebView并忽略子视图(它们可能在Web视图渲染之前呈现,因此它们会消失)。
答案 0 :(得分:0)
我测试了您的代码,并通过将progressView.center = view.center
更改为progressView.frame = CGRectMake(100.0, 100.0, 200.0, 5.0)
之类的内容来渲染progressView。我没有在故事板上做任何测试。