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

问题描述 投票:0回答:2

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

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

ios mapkit mkannotationview
2个回答
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;
    }
}

0
投票

如果拖动注释,则必须在其委托方法中将其拖动状态设置为none。这段代码解决了我的问题

    - (void)mapView:(MKMapView *)mapView
     annotationView:(MKAnnotationView *)annotationView
    didChangeDragState:(MKAnnotationViewDragState)newState
       fromOldState:(MKAnnotationViewDragState)oldState
{
if (newState == MKAnnotationViewDragStateEnding)
    {
     ..... your code.....
    annotationView.dragState=MKAnnotationViewDragStateNone;
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.