2013-10-24 32 views
0

我有這樣的問題:問題上的MapView annotationView calloutAccessoryControlTapped

在我的應用我用這個很乾脆代碼:

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control { 
     self.mapPopup.hidden=false; 
    } 

此代碼對我的應用程序的的iOS 6版本的偉大工程....當我點擊2次時,在iOS7的相同應用程序上,應用程序崩潰。

出現的錯誤是「EXC_BAD_ACCESS」。

我也注意到,在ios6中沒有區分左觸或右觸(在註釋上)...在ios7中是的!

我必須管理不同的觸摸(左&正確)?

爲了更好地理解...... 我有一個這樣的東西: enter image description here

如果我點擊了藍色按鈕,一切工作正常(應用程序打開的詳細視圖)。 當我關閉打開的視圖時,如果我點擊文本(即「當前位置」),我的應用程序崩潰

回答

0

您是否使用了註釋視圖的diddeselect方法?

我太面臨當我選擇任何註釋來看同一個問題:

我只是增加了隱藏和顯示在didDeselectannotation視圖方法:

- (void)mapView:(MKMapView *)mapView didDeselectAnnotationView:(MKAnnotationView *)view { 

    customAnnotationView.hidden=NO; 

    if (_calloutAnnotation&& ![view isKindOfClass:[CustomAnnotationView class]]) { 
     if (_calloutAnnotation.coordinate.latitude == view.annotation.coordinate.latitude&& 
      _calloutAnnotation.coordinate.longitude == view.annotation.coordinate.longitude) { 

      [customAnnotationView setHidden:YES]; 
     } 
    } 
} 
+0

不,我不是....你能建議我如何使用? – Blasco73

+0

您可以請共享您正在使用的控制檯日誌和代碼,以便我可以計算出您正在獲取EXC BAD EXC的確切錯誤。 –

+0

不...您的方法在點擊地圖時調用(在針),但我的問題是當我點擊內部(在中間)的針。所有工作正常,如果我點擊我創建的左側按鈕....是如此奇怪......進入IOS6是完美的! :| – Blasco73

1

我道歉 我犯了大錯:我用這個代碼:

[rightButton addTarget:self:@selector(mapView:annotationView:calloutAccessoryControlTapped:) forControlEvents:UIControlEventTouchUpInside]; 

的指定動作,但這個執行了兩次代碼...的crashe的可能原因小號!

問題解決了! :D感謝您的關注iRD。