拖动的注释视图不随地图移动

时间:2014-03-26 11:54:56

标签: ios mapkit mkannotationview

拖动注释视图后,我的地图出现问题: 当我更改平移地图的区域时,拖动的注释在屏幕中保持固定(未拖动的其他注释正确显示,问题出现在每个拖动的注释视图上;请注意,注释视图继续可以选择为标注和拖动,我能看到的唯一问题是当我平移地图时它不会移动

我有什么解决方案吗?这是ios 7.1的一个已知错误吗?或者我在代码中遗漏了什么?

2 个答案:

答案 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;
    }

}