0

我有这个问题:

在我的应用程序中,我使用了这个非常简单的代码:

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

此代码在我的应用程序的 iOS 6 版本上运行良好....在 iOS7 的同一个应用程序上,当我点击 2 次时,应用程序崩溃。

出现的错误是“EXC_BAD_ACCESS”。

我还注意到,在 ios6 中,与左触或右触(在注释上)没有任何区别......在 ios7 中是的!

我必须管理不同的触摸(左和右)?

为了更好地理解......我有这样的东西: 在此处输入图像描述

如果我点击蓝色按钮,一切正常(应用程序打开详细视图)。当我关闭打开的视图时,如果我点击文本(即“当前位置”),我的应用程序崩溃

4

2 回答 2

1

我很抱歉我犯了一个大错误:我使用了这个代码:

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

用于指定操作,但这会执行两次代码......可能是崩溃的原因!

问题解决了!!!:D 感谢 iRD 的关注..

于 2013-10-25T13:56:05.557 回答
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];
        }
    }
}
于 2013-10-24T17:22:44.173 回答