我无法加载动画,也无法在加载请求后将其删除

I can't load animation and I can't remove it after request has been loaded

我在我的应用程序的本机部分做了一些事情。然后,当我从服务器获取 sessionID 时,我将其设置为 WKWebView。然后,我将我的网页加载到 webview 本身。问题是,我使用了名为 "didfinish" 的函数来播放 gif。该函数有效,每次都会调用它,但是当我试图停止 gif 时,它对我的​​图像视图说 nil。

我将我的 imageview 放在一个视图之上,它覆盖了 WKWebview,用户不会看到一个空白视图,直到它完全加载。

override func viewDidLoad() {
        super.viewDidLoad()
        ...some code...
        imageViewForAnimation.loadGif(named:"gif")
        loadWeb()
}
func loadWeb(){
        setCookie()
        view=self.webview
        webview?.load(URLRequest(url: URL(string: lastURL)!))
        self.webview.navigationDelegate=self
}
func setCookie(){
        print("session id is:\(session_id)")
        let cookie = HTTPCookie(properties: [
            .domain: "mywebpage.com",
            .path: "/",
            .name: "sessionID",
            .value: "\(session_id)",
            .secure: "TRUE",
            .expires: NSDate(timeIntervalSinceNow: 31556926)
            ])!
        let websitedataStorage=WKWebsiteDataStore.nonPersistent()
        websitedataStorage.httpCookieStore.setCookie(cookie) {
        }
        let configuration=WKWebViewConfiguration()
        configuration.websiteDataStore=websitedataStorage
        webview=WKWebView(frame: self.view.frame, configuration: configuration)
}

没有任何 gif 或任何其他内容,一切正常。我想要的是,如果页面准备就绪

func webView(_ webView: WKWebView,
                 didFinish navigation: WKNavigation!) {
        self.imageViewForAnimation.image=nil   //for stopping animating
        self.coverViewOnTopOfWebView.alpha=0   //show web now

 }

我得到的错误是

Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value

在 didFinish 函数处。为了播放 gif,我使用了这个 class

https://github.com/swiftgif/SwiftGif/blob/master/SwiftGifCommon/UIImage%2BGif.swift

感谢大家提前提供的帮助和建议。

您在以下 loadWeb() 方法的代码中犯了错误。

view=self.webview

以上代码将 nil 设置为放置在 view 内的所有其他控件。 而不是将 self.webView 分配给 view,您应该从情节提要中添加它或以编程方式在视图中添加它,例如:

self.view.insertSubview(self.webview, at: 0)

self.view.addSubview(self.webview)

你更喜欢哪一个