代码之家  ›  专栏  ›  技术社区  ›  Felipe Silva

活动指示器未出现在swift 4上

  •  0
  • Felipe Silva  · 技术社区  · 7 年前

    我正在使用WebKit视图,试图在加载页面之前显示活动指示器,但活动指示器没有显示。

    这是我的代码:

    @IBOutlet weak var webView: WKWebView!
    @IBOutlet weak var actInd: UIActivityIndicatorView!
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            let myURL = URL(string: "http://www.google.com")
            let myRequest = URLRequest(url: myURL!)
            webView.load(myRequest)
        }
    
     func webViewDidStartLoad(_ webView: UIWebView) {
        actInd.startAnimating()
     }
    
     func webViewDidFinishLoad(_ webView: UIWebView) {
        actInd.stopAnimating()
     }
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   IOS-Android    7 年前

    除了停止活动指示器外,您还可能希望在url停止加载后将其隐藏。我通过编辑func webViewDidFinishLoad实现了这一点

    func webViewDidFinishLoad(_ webView: UIWebView) {
        actInd.stopAnimating()
        actInd.hidesWhenStopped = true
     } 
    

    当url已完成加载时,这将隐藏活动指示器

        2
  •  0
  •   Ganesh Manickam Gil    7 年前

    您正在使用 WKWebView 并试图使用 UIWebView 代表

    如果您熟悉UIWebView delegate,则意味着使用UIWebView而不是WKWebView,并在加载url之前设置delegate

    webView.delegate = self
    

    或者您需要使用WKWebView委托