Вы создаете веб-представление с нулевым фреймом, поэтому оно не отображается.
Измените webView = WKWebView(frame: .zero)
на это:
webView = WKWebView(frame: self.view.frame)
Чтобы отобразить индикатор активности при загрузке страницы, вам необходимо внедрить WKNavigationDelegate
делегат.Обновите свой код до этого:
class ViewController: UIViewController, WKNavigationDelegate {
var webView = WKWebView()
var activityIndicatorView: ActivityIndicatorView!
override func viewDidLoad() {
super.viewDidLoad()
//show Activity Indicator
self.activityIndicatorView = ActivityIndicatorView(title: "Loading content...", center: self.view.center)
self.activityIndicatorView.startAnimating();
self.view.addSubview(self.activityIndicatorView.getViewActivityIndicator())self.view.addSubview(self.activityIndicatorView.getViewActivityIndicator())
// Do any additional setup after loading the view.
let urlString = "http://www.youtube.com";
let request = URLRequest(url:URL(string: urlString)!)
self.webView.navigationDelegate = self // Add this line!
self.webView.load(request)
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
self.view = webView
// Hide activity indicator here
}
}