我想在没有标注的情况下创建自定义MKAnnotationView
(带图片),但在触摸后可展开。以下是我的想法:
1)首先MKAnnotation
看起来像这样:
2)然后点击它后,这应该扩展,看起来像这样:
我开始定制MKAnnotationView
并开设一个班级:
@interface CustomPinAnnotation : NSObject <MKAnnotation>
班级有方法:
-(MKAnnotationView*)annotationView {
MKAnnotationView *annotationView = [[MKAnnotationView alloc] initWithAnnotation:self reuseIdentifier:@"AnnotationIdentifier"];
annotationView.enabled = YES;
annotationView.image = [[UIImage imageNamed:@"star"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
return annotationView;
}
我尝试做的是将一个customView设置为MKAnnotationView
的子视图,但是当我没有设置图像时它不会响应(这在我考虑之后这是非常合乎逻辑的) ,但我觉得我在做一些非常讨厌的事情,应该是一种以某种方式覆盖MKAnnotationView
的方法。
答案 0 :(得分:1)
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
enemyAnnotationView.image = [UIImage imageNamed:@"firstImage.png"];
}
-(void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
enemyAnnotationView.image = [UIImage imageNamed:@"SecondImage.png"];
}
尝试这样的第一种方法是针对注释的视图显示第一张图像的时间,
当用户选择注释
时,将运行第二种方法