如何在iPhone的mkmapview中使用两个按钮显示自定义标注?

如何在iPhone的mkmapview中使用两个按钮显示自定义标注?,iphone,mkmapview,callout,Iphone,Mkmapview,Callout,我想显示一个带有两个按钮的自定义标注,我还想对两个按钮执行操作 我试过了,但没有在地图上做这种标注,这并不是我真正想要的。我正在制作一个iPhone应用程序,因为我是MKMapview的新手,所以我很难做到这一点。如何使用两个按钮显示自定义详图索引?您可以选择左侧和右侧详图索引附件查看 //注释视图设置委托 -(MKAnnotationView*)地图视图:(MKMapView*)地图视图注释:(id)注释{ MKPinAnnotationView*myPin=[[MKPinAnnotatio

我想显示一个带有两个按钮的自定义标注,我还想对两个按钮执行操作


我试过了,但没有在地图上做这种标注,这并不是我真正想要的。我正在制作一个iPhone应用程序,因为我是MKMapview的新手,所以我很难做到这一点。如何使用两个按钮显示自定义详图索引?

您可以选择左侧和右侧详图索引附件查看

//注释视图设置委托
-(MKAnnotationView*)地图视图:(MKMapView*)地图视图注释:(id)注释{
MKPinAnnotationView*myPin=[[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:@“reuseString”];
myPin.draggable=否;
myPin.canShowCallout=是;
myPin.pinColor=MKPinAnnotationColorRed;
UIButton*rightButton=[UIButton按钮类型:UIButtonTypeCustom];
rightButton.frame=CGRectMake(0,0,50,30);
[右按钮设置标题:@“信息!”用于状态:UIControlStateNormal];
[rightButton setBackgroundImage:[UIImage ImageName:@“image.png”]用于状态:UIControlStateNormal];
rightButton.showsTouchWhenHighlighted=是;
[rightButton addTarget:self action:@selector(rightAcccoryViewButtonCLicked)for ControlEvents:UIControlEventTouchUpInside];//rightAcccoryViewButtonCLicked是一个函数
myPin.rightCalloutAccessoryView=rightButton;
返回myPin;
}

类似地,您可以使用leftCalloutAccessoryView并添加另一个按钮。

您好,先生,我尝试了这段代码,在这段代码中有默认的标注,但我需要大标注,在这段标注中有两个按钮和一个标签,我还需要对两个按钮执行操作,因此,请帮助我……@user1687868使用上述方法,您可以实现您想要的功能:一个标签和两个按钮,带有操作,但如果您仍然需要比默认视图更大的标注视图,则必须对地图注释类进行子类化。这是一个带源代码的教程
//ANNOTATION VIEW SETTING DELEGATE
-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation{
     MKPinAnnotationView *myPin  =   [[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:@"reuseString"];
    myPin.draggable             =   NO;
    myPin.canShowCallout        =   YES;
    myPin.pinColor              =   MKPinAnnotationColorRed;

    UIButton *rightButton   =   [UIButton buttonWithType:UIButtonTypeCustom];
    rightButton.frame       =   CGRectMake(0, 0, 50, 30);
    [rightButton setTitle:@"Info!" forState:UIControlStateNormal];
    [rightButton setBackgroundImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
    rightButton.showsTouchWhenHighlighted   =   YES;
    [rightButton addTarget:self action:@selector(rightAcccoryViewButtonCLicked) forControlEvents:UIControlEventTouchUpInside]; //rightAcccoryViewButtonCLicked is a function

    myPin.rightCalloutAccessoryView = rightButton;

    return myPin;

}