顺便说一下,我在一行annotationVIEw!.image = UIImage(名字:“RaceCarMan2png.png”)上设置一个断点,它显示该行被调用,但没有任何反应.我将衷心感谢您的帮助.谢谢.
func mapVIEw(mapVIEw: MKMapVIEw,vIEwForAnnotation annotation: MKAnnotation) -> MKAnnotationVIEw? { if annotation is MKUserLocation { return nil } let IDentifIEr = "MyCustomAnnotation" var annotationVIEw = mapVIEw.dequeueReusableAnnotationVIEwWithIDentifIEr(IDentifIEr) if annotationVIEw == nil { annotationVIEw = MKPinAnnotationVIEw(annotation: annotation,reuseIDentifIEr: IDentifIEr) annotationVIEw?.canShowCallout = true annotationVIEw!.image = UIImage(named: "RaceCarMan2png.png") } else { annotationVIEw!.annotation = annotation } configureDetailVIEw(annotationVIEw!) return annotationVIEw}func configureDetailVIEw(annotationVIEw: MKAnnotationVIEw) { annotationVIEw.detailCalloutAccessoryVIEw = UIImageVIEw(image: UIImage(named: "url.jpg"))}解决方法 问题是你正在使用MKPinAnnotationVIEw.如果您使用MKAnnotationVIEw,您将看到您的图像:
class VIEwController: UIVIEwController,MKMapVIEwDelegate { @IBOutlet weak var mapVIEw: MKMapVIEw! private func addAnnotation(coordinate coordinate: CLLocationCoordinate2D,Title: String,subTitle: String) { let annotation = MKPointAnnotation() annotation.coordinate = coordinate annotation.Title = Title annotation.subTitle = subTitle mapVIEw.addAnnotation(annotation) } func mapVIEw(mapVIEw: MKMapVIEw,vIEwForAnnotation annotation: MKAnnotation) -> MKAnnotationVIEw? { if annotation is MKUserLocation { return nil } let IDentifIEr = "CustomAnnotation" var annotationVIEw = mapVIEw.dequeueReusableAnnotationVIEwWithIDentifIEr(IDentifIEr) if annotationVIEw == nil { annotationVIEw = MKAnnotationVIEw(annotation: annotation,reuseIDentifIEr: IDentifIEr) annotationVIEw!.canShowCallout = true annotationVIEw!.image = UIImage(named: "star.png")! // go ahead and use forced unwrapPing and you'll be notifIEd if it can't be found; alternatively,use `guard` statement to accomplish the same thing and show a custom error message } else { annotationVIEw!.annotation = annotation } return annotationVIEw } ...}
产量:
在过去(例如iOS 8),设置MKPinAnnotationVIEw的图像似乎工作正常,但在iOS 9.x中,似乎无论如何都使用pin.对于名为MKPinAnnotationVIEw的类而言,这并非完全不合理的行为,并且使用MKAnnotationVIEw可以避免此问题.
总结以上是内存溢出为你收集整理的ios – Swift – 更改注释图像不起作用全部内容,希望文章能够帮你解决ios – Swift – 更改注释图像不起作用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)