So finally its working...
Here my Solution for Swift 2.2
class YourViewController: UIViewController, UIWebViewDelegate {
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// For the Loading image: Create an ImageView programmatically and add id to the view
let imageName = "YourPicture.png"
let image = UIImage(named: imageName)
let imageView = UIImageView(image: image!)
imageView.tag = 1;
imageView.frame = CGRect(x: 50, y: 250, width: 300, height: 100)
view.addSubview(imageView)
let url = "http://apple.com"
let requestURL = NSURL(string:url)
let request = NSURLRequest(URL: requestURL!)
webView.delegate = self
webView.loadRequest(request)
}
func webViewDidFinishLoad(webView: UIWebView) {
// UIWebView object has fully loaded.
if(webView.stringByEvaluatingJavaScriptFromString("document.readyState") == "complete") {
// Manually add a delay, showing the Webview takes some time..
// For Swift 2.2
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), 2 * Int64(NSEC_PER_SEC))
dispatch_after(time, dispatch_get_main_queue()) {
//put your code which should be executed with a delay here
self.view.viewWithTag(1)?.hidden = true}
}
print("Webview did finish load")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}