拖动注释视图后,我的地图出现问题: 当我更改平移地图的区域时,拖动的注释在屏幕中保持固定(未拖动的其他注释正确显示,问题出现在每个拖动的注释视图上;请注意,注释视图继续可以选择为标注和拖动,我能看到的唯一问题是当我平移地图时它不会移动
我有什么解决方案吗?这是ios 7.1的一个已知错误吗?或者我在代码中遗漏了什么?
答案 0 :(得分:2)
似乎代码应该关注最后一次转换来重置注释视图,这解决了问题:
-(void)setDragState:(MKAnnotationViewDragState)dragState animated:(BOOL)animated {
[super setDragState:dragState animated:animated];
if (dragState==MKAnnotationViewDragStateStarting) {
[...
} else if (dragState==MKAnnotationViewDragStateEnding || dragState==MKAnnotationViewDragStateCanceling) {
...
self.dragState = MKAnnotationViewDragStateNone;
}
}
答案 1 :(得分:0)
如果拖动注释,则必须在其委托方法中将其拖动状态设置为none。这段代码解决了我的问题
- (void)mapView:(MKMapView *)mapView
annotationView:(MKAnnotationView *)annotationView
didChangeDragState:(MKAnnotationViewDragState)newState
fromOldState:(MKAnnotationViewDragState)oldState
{
if (newState == MKAnnotationViewDragStateEnding)
{
..... your code.....
annotationView.dragState=MKAnnotationViewDragStateNone;
}
}