我正在尝试在我的AnnotationViews中添加一个小按钮,以显示有关地图上某些地方的一些信息。听起来超级基本?好。那我一定是个白痴......
我看了几个例子,搜索了整个互联网,我已经撕掉了95%的头发。它只是不起作用!
-(MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)theAnnotation;
{
MKAnnotationView * annotationView = nil;
if([theAnnotation class] == [MyAnnotation class])
{
annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:theAnnotation reuseIdentifier:@"annotation"];
annotationView.canShowCallout = YES;
annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
annotationView.enabled = YES;
}
return annotationView;
}
-(void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control;
{
NSLog(@"push %@", control);
}
有人可以告诉我为什么calloutAccessoryControlTapped永远不会被调用? 我得到了一个漂亮而漂亮的注释,但是当我点击蓝色按钮时它就会关闭。我试过在按钮上添加一个目标,没有。
请帮助我!
PS:我知道我应该重复使用旧的注释视图和东西,但是我删除了所有不必要的代码,以确保没有其他东西可以搞砸了。答案 0 :(得分:0)
确保您已正确设置delegate
响应MKMapViewDelegate Protocol
。
另外,请确保所有视图和超级视图都userInterActionEnabled
设置为YES
。