簡體   English   中英

如何在點擊右側標注配件視圖時跟蹤其位置

[英]How to track where the right callout accessory view is when it was tapped on

如下所示,我有一個帶右鍵的注釋視圖。 當用戶點擊右鍵時我會出現一個彈出窗口 - 問題是我不知道用戶點擊的位置,所以我沒有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;

簡單實施

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control

每次用戶點擊calloutAccessoryControl時,都會調用您的委托。 然后,您可以通過訪問注釋屬性

view.annotation

我比使用(id)發送器更喜歡這種方法的原因是,您實際上不僅可以訪問注釋lat和long坐標,還可以訪問與其實際關聯的任何數據,以便您可以在彈出視圖中使用它。

您的操作方法showDetailsForHotel:包含sender參數,該參數是已被點擊的按鈕。 您可以像任何視圖一樣詢問它的坐標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM