我为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

10-06 01:47