I'm using xcode 9/swift 4. I've got a simple UIViewController with a WKWebView as an outlet.
class WebViewController: UIViewController, WKUIDelegate, WKNavigationDelegate {
@IBOutlet weak var webView: WKWebView!
var spinner:UIActivityIndicatorView!
override func loadView()
{
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.navigationDelegate = self
webView.uiDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
spinner = UIActivityIndicatorView()
webView.addSubview(spinner)
spinner.center = self.webView.center
spinner.hidesWhenStopped = true
spinner.isHidden = true
}
Firstly, I tried dragging the UIActivityViewIndicator from the storyboard as an outlet but it always just kept erroring whenever i tried to do anything eg. spinner.hidesWhenStopped saying that it was nil when unwrapped.
So then I tried programmatically creating a spinner but can't get that to show either. I'm guessing i'm making a mistake thinking that i can add the spinner on top of the webView eg. webView.addSubview(spinner).
Thanks.