我有这个问题:
在我的应用程序中,我使用这个非常简单的代码:
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {
self.mapPopup.hidden=false;
}
我的应用程序的iOS 6版本上的这段代码非常适合....在iOS7的同一个应用程序中,当我点击2次时,应用程序崩溃。
出现的错误是“EXC_BAD_ACCESS”。
我还注意到在ios6中没有区别于左触摸或右触摸(在注释上)......在ios7中是的!
我必须管理不同的触摸(左和右)?
为了更好地理解...... 我有这样的东西:
如果我点击蓝色按钮,一切正常(应用程序打开详细视图)。 当我关闭打开的视图时,如果我点击文本(即“当前位置”),我的应用程序崩溃
答案 0 :(得分:1)
我道歉 我犯了一个大错:我用过这段代码:
[rightButton addTarget:self:@selector(mapView:annotationView:calloutAccessoryControlTapped:) forControlEvents:UIControlEventTouchUpInside];
用于指定操作,但这会执行两次代码...可能是崩溃的原因!!!
问题解决了!!! :D感谢iRD的关注......
答案 1 :(得分:0)
您是否使用diddeselectmethod进行注释视图?
当我选择任何注释视图时,我也面临同样的问题:
我刚刚在didDeselectannotation视图方法中添加了hide和show:
- (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];
}
}
}