SelectAnnotation在Xamarin IOS中也取消选择
我试图以编程方式选择注释。所以在我的自定义地图渲染器中,我使用了这个SelectAnnotation在Xamarin IOS中也取消选择,ios,xamarin,xamarin.ios,annotations,Ios,Xamarin,Xamarin.ios,Annotations,我试图以编程方式选择注释。所以在我的自定义地图渲染器中,我使用了这个 _iosMap.SelectAnnotation(myAnnotation, true); myAnnotation被选中了,但就在那之后,它被取消选中了。(信息窗口显示了一秒钟,然后消失了)我不知道为什么。我的意思是,当用户点击某些区域时,我的程序会向地图添加注释,然后调用SelectAnnotation来显示信息窗口 我试图实现这一点 但它没有起作用。我的意思是注释被选中(OnDidSelectAnnotati
_iosMap.SelectAnnotation(myAnnotation, true);
myAnnotation被选中了,但就在那之后,它被取消选中了。(信息窗口显示了一秒钟,然后消失了)我不知道为什么。我的意思是,当用户点击某些区域时,我的程序会向地图添加注释,然后调用SelectAnnotation来显示信息窗口
我试图实现这一点
但它没有起作用。我的意思是注释被选中(OnDidSelectAnnotationView方法被激发),但信息窗口没有出现。我怎样才能解决这个问题
我试着使用GestureRecognitzerShouldBegin(看到了),但在选择时,取消选择GestureRecognitzerShouldBegin没有启动
补充:我在这里复制了这个问题
当点击除pin之外的地图上的任意位置时,CustomMapRenderer中的SelectAnnotation将激发。信息窗口显示一秒钟,然后消失
当我将其添加到OnDidUncelleAnnotationView时
((MKMapView)Control).SelectAnnotation(((MKMapView)Control).Annotations.ElementAt(0), true);
就像以前一样,在第一次点击时消失。在第二、第三次敲击时,它工作正常。为什么是第一个?我通过增加延迟来解决这个问题
private void OnTap(UITapGestureRecognizer recognizer)
{
//
PerformSelector(new ObjCRuntime.Selector("ShowAnnotation"), null, 0.6f);
}
[Export("ShowAnnotation")]
void ShowAnnotation()
{
((MKMapView)Control).SelectAnnotation(((MKMapView)Control).Annotations.ElementAt(0), true);
}
能否在自定义渲染器中共享更多代码以重现此问题?我测试了官方示例,并且
SelectAnnotation
在我这方面运行良好。我添加了一个链接。谢谢。好的,我稍后会检查并更新您。您可以将其标记为答案,这将帮助更多有相同问题的人!
private void OnTap(UITapGestureRecognizer recognizer)
{
//
PerformSelector(new ObjCRuntime.Selector("ShowAnnotation"), null, 0.6f);
}
[Export("ShowAnnotation")]
void ShowAnnotation()
{
((MKMapView)Control).SelectAnnotation(((MKMapView)Control).Annotations.ElementAt(0), true);
}