【发布时间】:2015-02-07 17:16:15
【问题描述】:
我正在尝试通过 SDWebImage 加载放置在 InfoWindow 中的图像。
在第一次打开此 InfoWindow 时 mainLogoImageView 仅放置占位符。在第二个加载的图像上。问题是第一次打开 InfoWindow 时无法加载图像(这不取决于我等待加载图像的时间)
func mapView(mapView: GMSMapView!, markerInfoWindow marker: GMSMarker!) -> UIView! {
var infoWindow : CustomInfoWindow = NSBundle.mainBundle().loadNibNamed("CustomInfoWindow", owner: self, options: nil)[0] as CustomInfoWindow
infoWindow.mainLogoImageView.sd_setImageWithURL(NSURL(string: self.sharedManager.myModel[0].img_logo), placeholderImage: UIImage(named: "logo_placeholder.png"))
return infoWindow
}
感谢您的帮助
【问题讨论】:
-
第一次加载时是否显示占位符图像?您也可以尝试添加一个带有 print/long 语句的完成块,这样您就可以检查图像是否在第一次单击时成功加载。你也可以试试 AFNetworking 的 setImageView 方法。
-
@ztan 是的,它首先显示占位符图像。我尝试添加一个完成块,但该块在第二次单击时调用为加载的图像。
-
@ztan 使用 AFNetworking 给我同样的结果
-
@ztan 当我使用 AFNetworking 时,第一次单击时会调用完成块,但它甚至无法隐藏 ImageView (imageView.hidden = true)。我认为,只有当它已经加载时才能设置该图像。所以在第二次点击它显示只是因为它被缓存了。
-
我试过SDWebImage,不幸的是它只在第二次点击时显示图像。那么您使用哪种 AFNetworking 方法?
标签: ios google-maps google-maps-sdk-ios