objective-c - 在不删除 MKAnnotation 的情况下更改 MKAnnotation View

标签 objective-c ios mkmapview mkannotation mkannotationview

我在 MKAnnotation 上有一个标注。标注上的附件应该在点击时更改 MKAnnotationView 的图像。有没有办法改变这个,而无需重新创建 MKAnnotation?我问的原因是我想更改图像,删除标注。但显然,当我删除注释时,标注会被删除。那么,如何简单地更改图像,使标注不会被删除?

最佳答案

您的 MKMapViewDelegate 具有方法 mapView:didSelectAnnotationView:mapView:didDeselectAnnotationView:。你在这里传递了 MKAnnotationView,你可以在这里修改它。将这样的代码放入您的委托(delegate)中:

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
    view.image = [UIImage imageNamed:@"selectedImage.png"];
}

- (void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view {
    view.image = [UIImage imageNamed:@"pinImage.png"];
}

关于objective-c - 在不删除 MKAnnotation 的情况下更改 MKAnnotation View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7059956/

相关文章:

iphone - 如何获取TableView中同一组的所有行

iphone - 如何在 Xcode 中显示/隐藏 View

objective-c - 如何根据对象字符串属性在 Xcode 中设置条件断点?

iOS - 对象未添加到数组

iphone - 调用ReloadData时UITableView绘图问题

ios - CLBeacon : How can I get the distance from the IBeacons?

javascript - 未处理的 JS 异常 : Requiring unknown module "9"

iphone - 从 MKUserTrackingModeFollowWithHeading 切换模式时如何始终保持 iOS 6 中的 MKMapView 朝北

ios - 在 Swift 中使用自定义点注释时出现错误

ios - MKMapView 在固定索引处覆盖