我们有一个带有一堆Image Annotation的MKmapView,其中每个Image注释都会响应触摸 通过覆盖AnnotationView子类的这些方法:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
-(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
我们的地图区域使用
进行更新[MkMapView setRegion:animated:]
每当收到新位置时,距离旧位置足够远,无法发挥作用。
我注意到,如果我们将动画标记设置为 YES ,很少会检测到我们的注释上的触摸(可能是由于主线程正在忙于动画之间的事实两个地图区域。 当我们将动画标志设置为否时,一切都很好,但地图转换可能(或可能不会)变得生涩。
我的问题是,这是否是[MkMapView setRegion:animated]函数的动画标志的预期行为,或者是否存在此问题的解决方法。
提前致谢
答案 0 :(得分:4)
通常,动画的mapview在动画期间将其userInteractionEnabled属性设置为no。如果需要更改此行为,则应该对视图进行子类化并覆盖相应的方法。
或者,您可以在动画持续时间内在地图视图上放置透明视图,以捕捉特定类型的操作,例如响应双击以停止区域中的更改。