UIButton *btn=[UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[btn setFrame:CGRectMake(0, 0, 20, 20)];
[btn addTarget:self action:@selector(countup:) forControlEvents:UIControlEventTouchUpInside];
anniView.rightCalloutAccessoryView=btn; 我做的是基于MapKit的应用,在地图里加上了很多大头针,然后点击大头针再打头阵的上面出现了一个注视图,在右边自己定义了一个按钮,点击按钮后,请问如何知道自己点击的按钮是哪一个
-(void)countup:(UIApplication *)application{


UIAlertView *alertstart = [[UIAlertView alloc]   
   initWithTitle:@"车站"//self.station.name   
   message:@"距离"   
   delegate:nil   
   cancelButtonTitle:@"back"   
   otherButtonTitles:nil];
[alertstart show];

解决方案 »

  1.   

    我觉得你可以在新建大头针的时候给每一个大头针设置不同的tag,然后调用你这个countup方法的时候把tag作为参数,然后根据tag就能区分是哪个大头针被点击了
      

  2.   

    呵呵,不好意思啊,请问tag怎么加啊,应该加在什么地方。最后再怎么用tag
      

  3.   

    这个问题是与MKMapView是相关的,当然首先查找MKMapviewDelegate里有没有可以实再,转到它的定义处:
    我们可以发现:
    - (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_4_0);
    - (void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_4_0);这两个方法就选中与没选中时要调用的方法, 转进来的MKAnnotationView里有一个annotation属性,就是你所选中的MKAnnotation希望对你有用。
      

  4.   

    tag就是UIView的属性啊;你可以
    btn.tag = 1;
    btn.tag = 2;
    这样设置啊。