我为iOS构建了一个应用程序,该应用程序显示地图和差异标记,每个应用程序都必须在单击时显示一个自定义信息窗口。
一切正常,地图显示我的位置,标记显示默认信息窗口,但是如果我实现以下代码以创建自定义信息窗口,则:
func mapView(mapView: GMSMapView, markerInfoWindow marker: GMSMarker) -> UIView? {
// 1
NSLog("Marker infowindow es llamada")
//let index:Int! = Int(marker.accessibilityLabel!)
// 2
let customInfoWindow = NSBundle.mainBundle().loadNibNamed("CustomIW", owner: nil, options: nil) as! CustomIW
customInfoWindow.Nombre.text = marker.title
customInfoWindow.direccion.text = marker.snippet
return customInfoWindow
}
我收到警告“从'[AnyObject]开始投射!”。到不相关的类型'CustomIW总是失败'”,当我运行该应用程序时,它在loadNibName函数的行崩溃。
CustomIW.xib是我的自定义InfoWindow视图的名称,而CustomIW.swift是我的自定义InfoWindow类的名称,该类只有两个要显示的值的两个部分。
最佳答案
尝试像这样修改您的代码:
... dNibNamed("CustomIW", owner: self.view, options: nil) as! CustomIW