如何在点击右侧标注配件视图时跟踪其位置

The*_*ner 3 iphone objective-c

如下所示,我有一个带右键的注释视图.当用户点击右键时我会出现一个弹出窗口 - 问题是我不知道用户点击的位置,所以我没有X和Y来显示弹出窗口.

如何找出用户点击的位置,即X和Y?

HotelAnnotationView *customPinView = [[HotelAnnotationView alloc] initWithAnnotation:theHotel reuseIdentifier:hotelPin];

//The right button which allows user to see hotel information
UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
[rightButton addTarget:self action:@selector(showDetailsForHotel:) forControlEvents:UIControlEventTouchUpInside];

rightButton.tag = theHotel.id;
customPinView.rightCalloutAccessoryView = rightButton;
Run Code Online (Sandbox Code Playgroud)

Rog*_*Rog 6

简单实施

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
Run Code Online (Sandbox Code Playgroud)

每次用户点击calloutAccessoryControl时,都会调用您的委托.然后,您可以通过访问注释属性

view.annotation
Run Code Online (Sandbox Code Playgroud)

我比使用(id)发送器更喜欢这种方法的原因是,您实际上不仅可以访问注释lat和long坐标,还可以访问与其实际关联的任何数据,以便您可以在弹出视图中使用它.