在 Swift 中使用 UIActivityIndi​​catorView 和 UIWebView

2024-05-27

当 url 加载到 WebView 中时,我试图在我的应用程序中向用户显示活动指示器视图。我尝试过使用 Activity.startAnimating/activity.stopAnimating 并尝试将它们放入函数等中,但没有任何运气。

我能得到的最好的结果是活动指示器出现并动画,但一旦加载我的网址就不会停止动画或隐藏,因此它继续在网页顶部旋转。

在其他情况下,当尝试移动 Activity.startAnimating 时,我遇到了“Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)”问题。我在属性检查器中检查了“停止时隐藏”,我知道我的 url 有效,并且我已经为 Interface Builder 元素创建了 IBOutlet。

请耐心听我说;我对 Swift 还比较陌生。这是我的代码:

class HighchartsController: UIViewController {

@IBOutlet weak var HighchartsView: UIWebView!

@IBOutlet weak var activity: UIActivityIndicatorView!

@IBOutlet weak var saveButton: UIBarButtonItem!

@IBOutlet weak var highchartsMenu: UIBarButtonItem!

override func viewDidLoad()
{
    super.viewDidLoad()

    if self.revealViewController() != nil {
        highchartsMenu.target = self.revealViewController()
        highchartsMenu.action = "revealToggle:"

        loadAddress()
    }
 }

func loadAddress() {

    let url = NSURL (string: "http://google.com/flights")
    let request = NSURLRequest (URL: url!)
    HighchartsView.loadRequest(request)
    println("Webpage Loaded Successfully")
 }
}

我尝试过使用不同的功能,例如

webViewDidStartLoad(_ :UIWebView){

    activity.startAnimating()
    NSLog("Webview load has started")

}
webViewDidFinishLoad(_ :UIWebView){

    activity.stopAnimating()
    NSLog("Webview load had finished")

}

首先,我没有看到 UIWebView 的委托。 了解您与委派流程相关的行为。

UIWebView Delegate 有四种方法,但用于这种方式的方法只有三种:

Swift 4

func webViewDidStartLoad(_ webView: UIWebView) // show indicator    
func webViewDidFinishLoad(_ webView: UIWebView) // hide indicator
func webView(_ webView: UIWebView, didFailLoadWithError error: Error) // hide indicator

Swift 3

func webViewDidStartLoad(webView: UIWebView!) // show indicator
func webViewDidFinishLoad(webView: UIWebView!) // hide indicator
func webView(webView: UIWebView!, didFailLoadWithError error: NSError!) // hide indicator
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Swift 中使用 UIActivityIndi​​catorView 和 UIWebView 的相关文章

随机推荐