0

右側にボタンがあり、左側にラベルがあるカスタム注釈を作成しました。

それはうまく表示され、ラベルのテキストは完全に変更されていますが、何らかの理由でボタンをクリックしても反応しません。IBAction を接続しましたが、動作するはずです。しかし、それは私の IBAction を呼び出しません。

このボタンが私のタッチを無視している理由を知っている人はいますか?

ありがとう、

4

1 に答える 1

0
         (MKAnnotationView *)mapView:(MKMapView *)aMapView 
                  viewForAnnotation:(id)ann 
         { 

         NSString *identifier = @”myPin”; 
         MKPinAnnotationView *pin = (MKPinAnnotationView *) 
         [aMapView dequeueReusableAnnotationViewWithIdentifier:identifier]; 
         if (pin == nil) { 
              pin = [[[MKPinAnnotationView alloc] initWithAnnotation:ann 
                                                           reuseIdentifier:identifier] 
                      autorelease]; 
         } else { 
              pin.annotation = ann; 
         } 


         //---display a disclosure button on the right--- 
         UIButton *myDetailButton = 
         [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
         myDetailButton.frame = CGRectMake(0, 0, 23, 23); 
         myDetailButton.contentVerticalAlignment = 
         UIControlContentVerticalAlignmentCenter; 
         myDetailButton.contentHorizontalAlignment = 
         UIControlContentHorizontalAlignmentCenter; 

         [myDetailButton addTarget:self 
                               action:@selector (checkButtonTapped:) 
                    forControlEvents:UIControlEventTouchUpInside]; 

         pin.rightCalloutAccessoryView = myDetailButton; 
         pin.enabled = YES; 
         pin.animatesDrop=TRUE; 
         pin.canShowCallout=YES; 

         return pin; 
    } 



    -(void) checkButtonTapped:(id) sender
      { 

       //---know which button was clicked; 
       // useful for multiple pins on the map--- 
       // UIControl *btnClicked = sender; 
       UIAlertView *alert = 
       [[UIAlertView alloc] initWithTitle:@”Your Current Location” 
                                       message :location 
                                      delegate:self 
                           cancelButtonTitle:@”OK” 
                           otherButtonTitles:nil]; 
       [alert show]; 
       [alert release]; 
       } 

私は自分のプロジェクトでこのコードを使用していますが、うまく機能するので、これを試すことができます。

于 2013-01-31T10:56:19.020 に答える