亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

按下詳細信息披露后的注釋詳細信息?

按下詳細信息披露后的注釋詳細信息?

明月笑刀無情 2020-02-03 12:40:20
我有一個MKMapView注釋對象,該對象具有正確的標注附件詳細信息顯示按鈕。當按下按鈕時,我正在使用addTarget:action:forControlEvent調用選擇器方法,該方法創建一個詳細的viewController并將其推入視圖堆棧。我的問題是訪問標注詳細信息控制器的注釋上的信息的最佳方法是什么。詳細信息披露按鈕設置為調用:[button addTarget:self action:@selector(disclosurePressed:) forControlEvents:UIControlEventTouchUpInside];看起來像這樣:- (void)disclosurePressed:(id)sender {}我想我可以尋找發送方UIButton的父批注,任何人都可以給我提供任何有關如何最好地完成操作的指針。
查看完整描述

2 回答

?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

一種可靠的方法(如果必須使用自定義方法)是查看地圖視圖的selectedAnnotations屬性。


雖然該屬性是NSArray,但由于地圖視圖一次只允許選擇一個注釋,因此用戶剛剛點擊的注釋將位于索引0處,因此它將為:


id<MKAnnotation> annTapped = [mapView.selectedAnnotations objectAtIndex:0];


//Here, you can cast annTapped to a custom annotation class if needed.

//Be sure to check what kind of class it is first.

mapView.selectedAnnotations.count為了安全起見,您可能還需要先檢查不為零的值。



但是,比使用addTarget和自定義操作方法更好的方法(正如內文·金已經回答過的)是使用地圖視圖的calloutAccessoryControlTapped委托方法,在該方法中,可以通過view使用以下參數通過參數直接訪問注釋:


id<MKAnnotation> annTapped = view.annotation;


查看完整回答
反對 回復 2020-02-03
  • 2 回答
  • 0 關注
  • 984 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號