Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios MBHUD未隐藏-Swift 3_Ios_Swift_Uiwebview_Swift3_Mbprogresshud - Fatal编程技术网

Ios MBHUD未隐藏-Swift 3

Ios MBHUD未隐藏-Swift 3,ios,swift,uiwebview,swift3,mbprogresshud,Ios,Swift,Uiwebview,Swift3,Mbprogresshud,我试图在UIWebView上显示MBProgressHUD。我正在尝试在webview中加载iframe。“我的微调器”在webview开始加载时显示,但即使它到达webview didFinishLoad()中的断点,也不会隐藏 这是我的密码: class LiveViewController: UIViewController, UIWebViewDelegate { @IBOutlet weak var liveWebView: UIWebView! var spinnerActivi

我试图在
UIWebView
上显示
MBProgressHUD
。我正在尝试在webview中加载iframe。“我的微调器”在webview开始加载时显示,但即使它到达
webview didFinishLoad()
中的断点,也不会隐藏

这是我的密码:

class LiveViewController: UIViewController, UIWebViewDelegate {

@IBOutlet weak var liveWebView: UIWebView!

var spinnerActivity: MBProgressHUD! = nil

override func viewDidLoad() {
    super.viewDidLoad()

    liveWebView.delegate = self

    let embededHTML = "<html><body><iframe src=\"\" width=\"100%\" height=\"500\" frameborder=\"0\" scrolling=\"no\"></iframe></body></html>" //link removed
    liveWebView.loadHTMLString(embededHTML, baseURL: nil)
}

public func webViewDidStartLoad(_ webView: UIWebView){
    spinnerActivity = MBProgressHUD.showAdded(to: self.view, animated: true)
    spinnerActivity.label.text = "Loading"
    spinnerActivity.detailsLabel.text = "Please Wait!"
    spinnerActivity.isUserInteractionEnabled = false
}

public func webViewDidFinishLoad(_ webView: UIWebView){
    spinnerActivity.hide(animated: true)
}

public func webView(_ webView: UIWebView, didFailLoadWithError error: Error){
    spinnerActivity.hide(animated: true)
}
}
类LiveViewController:UIViewController、UIWebViewDelegate{
@ibvar-liveWebView:UIWebView!
var自旋生成率:MBProgressHUD!=零
重写func viewDidLoad(){
super.viewDidLoad()
liveWebView.delegate=self
让EmbeddedHTML=”“//删除链接
liveWebView.loadHTMLString(EmbeddedHtml,baseURL:nil)
}
public func webView加载(webView:UIWebView){
SpinerActivity=MBProgressHUD.showAdded(到:self.view,动画:true)
spinneActivity.label.text=“正在加载”
spinnerActivity.detailsLabel.text=“请稍候!”
spinneActivity.isUserInteractionEnabled=false
}
public func webViewDidFinishLoad(webView:UIWebView){
spinnerActivity.hide(动画:true)
}
public func webView(webView:UIWebView,DidFailLoadWither错误:错误){
spinnerActivity.hide(动画:true)
}
}
我注意到webViewDidStartLoad和webViewDidFinishLoad被调用了两次。 请帮帮我。旋转器没有隐藏。。我使用了Xcode8和Swift 3

编辑:

我试过这个,但不太管用:

class LiveViewController: UIViewController, UIWebViewDelegate {

@IBOutlet weak var liveWebView: UIWebView!

var spinnerActivity: MBProgressHUD! = nil

override func viewDidLoad() {
    super.viewDidLoad()

    liveWebView.delegate = self

    let embededHTML = "<html><body><iframe src=\"\" width=\"100%\" height=\"500\" frameborder=\"0\" scrolling=\"no\"></iframe></body></html>" //link removed
    liveWebView.loadHTMLString(embededHTML, baseURL: nil)
}

    public func webViewDidStartLoad(_ webView: UIWebView){
        MBProgressHUD.showAdded(to: self.view, animated: true)

    }

    public func webViewDidFinishLoad(_ webView: UIWebView){
        MBProgressHUD.hide(for: self.view, animated: true)

    }

    public func webView(_ webView: UIWebView, didFailLoadWithError error: Error){
        MBProgressHUD.hide(for: self.view, animated: true)
    }
}
类LiveViewController:UIViewController、UIWebViewDelegate{
@ibvar-liveWebView:UIWebView!
var自旋生成率:MBProgressHUD!=零
重写func viewDidLoad(){
super.viewDidLoad()
liveWebView.delegate=self
让EmbeddedHTML=”“//删除链接
liveWebView.loadHTMLString(EmbeddedHtml,baseURL:nil)
}
public func webView加载(webView:UIWebView){
MBProgressHUD.showAdded(到:self.view,动画:true)
}
public func webViewDidFinishLoad(webView:UIWebView){
MBProgressHUD.hide(用于:self.view,动画:true)
}
public func webView(webView:UIWebView,DidFailLoadWither错误:错误){
MBProgressHUD.hide(用于:self.view,动画:true)
}
}

请参见尝试用以下内容替换代码:

class LiveViewController: UIViewController, UIWebViewDelegate {
    var isHudShow  = false
    @IBOutlet weak var liveWebView: UIWebView!

    var spinnerActivity: MBProgressHUD! = nil

    override func viewDidLoad() {
        super.viewDidLoad()
        liveWebView.delegate = self
        let embededHTML = "<html><body><iframe src=\"\" width=\"100%\" height=\"500\" frameborder=\"0\" scrolling=\"no\"></iframe></body></html>" //link removed
        liveWebView.loadHTMLString(embededHTML, baseURL: nil)
    }

    public func webViewDidStartLoad(_ webView: UIWebView){
     if isHudShow == false
      {
        MBProgressHUD.showAdded(to: self.view, animated: true)
        isHudShow =true
      }

    }

    public func webViewDidFinishLoad(_ webView: UIWebView){
     MBProgressHUD.hide(for: self.view, animated: true)
    }

    public func webView(_ webView: UIWebView, didFailLoadWithError error: Error){
     MBProgressHUD.hide(for: self.view, animated: true)
    }
}
类LiveViewController:UIViewController、UIWebViewDelegate{
var isHudShow=false
@ibvar-liveWebView:UIWebView!
var自旋生成率:MBProgressHUD!=零
重写func viewDidLoad(){
super.viewDidLoad()
liveWebView.delegate=self
让EmbeddedHTML=”“//删除链接
liveWebView.loadHTMLString(EmbeddedHtml,baseURL:nil)
}
public func webView加载(webView:UIWebView){
如果isHudShow==false
{
MBProgressHUD.showAdded(到:self.view,动画:true)
isHudShow=true
}
}
public func webViewDidFinishLoad(webView:UIWebView){
MBProgressHUD.hide(用于:self.view,动画:true)
}
public func webView(webView:UIWebView,DidFailLoadWither错误:错误){
MBProgressHUD.hide(用于:self.view,动画:true)
}
}

尝试用以下代码替换您的代码:

class LiveViewController: UIViewController, UIWebViewDelegate {
    var isHudShow  = false
    @IBOutlet weak var liveWebView: UIWebView!

    var spinnerActivity: MBProgressHUD! = nil

    override func viewDidLoad() {
        super.viewDidLoad()
        liveWebView.delegate = self
        let embededHTML = "<html><body><iframe src=\"\" width=\"100%\" height=\"500\" frameborder=\"0\" scrolling=\"no\"></iframe></body></html>" //link removed
        liveWebView.loadHTMLString(embededHTML, baseURL: nil)
    }

    public func webViewDidStartLoad(_ webView: UIWebView){
     if isHudShow == false
      {
        MBProgressHUD.showAdded(to: self.view, animated: true)
        isHudShow =true
      }

    }

    public func webViewDidFinishLoad(_ webView: UIWebView){
     MBProgressHUD.hide(for: self.view, animated: true)
    }

    public func webView(_ webView: UIWebView, didFailLoadWithError error: Error){
     MBProgressHUD.hide(for: self.view, animated: true)
    }
}
类LiveViewController:UIViewController、UIWebViewDelegate{
var isHudShow=false
@ibvar-liveWebView:UIWebView!
var自旋生成率:MBProgressHUD!=零
重写func viewDidLoad(){
super.viewDidLoad()
liveWebView.delegate=self
让EmbeddedHTML=”“//删除链接
liveWebView.loadHTMLString(EmbeddedHtml,baseURL:nil)
}
public func webView加载(webView:UIWebView){
如果isHudShow==false
{
MBProgressHUD.showAdded(到:self.view,动画:true)
isHudShow=true
}
}
public func webViewDidFinishLoad(webView:UIWebView){
MBProgressHUD.hide(用于:self.view,动画:true)
}
public func webView(webView:UIWebView,DidFailLoadWither错误:错误){
MBProgressHUD.hide(用于:self.view,动画:true)
}
}

你把它藏在哪里?@User511在webView中didFailLoadWithError和webView didfishloadyes我看到了,检查我的答案。像我提到的那样隐藏它;你把它藏在哪里了?@User511在webView中didFailLoadWithError和webViewDidFinishLoadYes我看到了检查我的答案。像我提到的那样隐藏它;MBProgressHUD.hide(动画:true)为'MBProgressHUD.hide(动画:true)为'MBProgressHUD.hide'提供缺少参数'