我试图加载一个网站预览到UIImageView
。我有以下的方法是当接收到请求的网站URL称为:在UIImageView中加载网站预览(Swift)
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
中没有显示图像。
为什么你想让你的图片浏览器加载一个网站?如果图像视图开始加载网站,那么创建UIWebView的目的是什么?你能更清楚你想要达到的目标吗? – Harsh
@Harsh这背后的想法是需要'画'网站的地方 - 否则我有网址/一些HTML,并不知道实际看起来像渲染。或者有可能从网站获取数据,然后以某种方式显示它? – narner
您的webview视图需要在loadRequest命令之前加载,或换句话说,webview必须已经存在于父视图中。是这样吗? – Armin