我正在尝试将网站预览加载到UIImageView中。当收到所请求的网站URL时,将调用以下方法:

func loadWebsite(item:ShareItem) {
    activitySpinner.startAnimating()
    imageView.setImageForURL(item.asset!.absoluteString) { (image) in
        self.showActionButton(true)
        self.activitySpinner.stopAnimating()
        self.actionButton.titleLabel?.text = "Open"
    }
}

我相信setImageForURL网站中的逻辑存在错误,应该将网站加载到我的自定义图像视图类中:
class MyCustomImageView:UIImageView, UIWebViewDelegate {

    var webview:UIWebView?
    var completion:((UIImage?)->Void)?

    func setImageForURL(urlString:String, completion:((image:UIImage?)->Void)?) {

        self.completion = completion

        guard let url = NSURL(string: urlString) else {
            self.completion?(nil)
            return
        }

        let request = NSURLRequest(URL: url)
        webview = UIWebView(frame: self.bounds)
        webview!.delegate = self
        webview?.scalesPageToFit = true
        webview!.loadRequest(request);
    }

有人对我如何正确处理此问题有一些见解吗?正确并以正确的顺序调用了所有方法,但是UIImageView中没有显示图像。

最佳答案

您有时需要将Webview添加到图像视图中。我的意思是,在imageView上使用addSubview方法,并在调用webview上的loadRequest方法之前使用所有这些方法。您的Web视图需要具有“物理”框架并存在于父视图中,然后才能加载内容。

关于ios - 在UIImageView中加载网站预览(快速),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38898810/

10-14 22:17
查看更多