SelectAnnotation 也在 Xamarin 中取消选择 IOS
SelectAnnotation deselects also in Xamarin IOS
我尝试以编程方式 select 我的注释。所以在我的自定义地图渲染器中我使用了这个。
_iosMap.SelectAnnotation(myAnnotation, true);
myAnnotation 得到 selected 没问题,但紧接着它就被 deselected 了。 (信息 window 显示了一秒钟就消失了)我不知道为什么。我的意思是,当用户点击某些区域时,我的程序会向地图添加注释,然后立即调用 SelectAnnotation 来显示信息 window.
我试图实现这个 solution。
void OnDidDeselectAnnotationView(object sender, MKAnnotationViewEventArgs e) {
MKMarkerAnnotationView annotationView = (MKMarkerAnnotationView) e.View;
if (someBoolToDetectUnwantedDeselect) {
_iosMap.SelectAnnotation(annotationView.Annotation, true);
}
}
但是没有用。我的意思是注释得到 selected(OnDidSelectAnnotationView 方法被触发。)但是 infowindow 没有出现。我该如何解决这个问题?
我尝试使用 GestureRecognizerShouldBegin(看到它 。)但是在 select,deselect GestureRecognizerShouldBegin 没有触发。
补充:我在这里重现了这个问题。
http://www.mediafire.com/file/s1ahsdum258yqpk/selectannotationproblem.rar/file
当点击地图上除 pin 之外的任何地方时,SelectAnnotation 在 CustomMapRenderer 中触发。 Infowindow 显示一秒然后消失。
当我将它添加到 OnDidDeselectAnnotationView
((MKMapView)Control).SelectAnnotation(((MKMapView)Control).Annotations.ElementAt(0), true);
In 会像以前一样在第一次点击时消失。在第二次、第三次点击时它工作正常。为什么先?
我加延迟解决了
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);
}
我尝试以编程方式 select 我的注释。所以在我的自定义地图渲染器中我使用了这个。
_iosMap.SelectAnnotation(myAnnotation, true);
myAnnotation 得到 selected 没问题,但紧接着它就被 deselected 了。 (信息 window 显示了一秒钟就消失了)我不知道为什么。我的意思是,当用户点击某些区域时,我的程序会向地图添加注释,然后立即调用 SelectAnnotation 来显示信息 window.
我试图实现这个 solution。
void OnDidDeselectAnnotationView(object sender, MKAnnotationViewEventArgs e) {
MKMarkerAnnotationView annotationView = (MKMarkerAnnotationView) e.View;
if (someBoolToDetectUnwantedDeselect) {
_iosMap.SelectAnnotation(annotationView.Annotation, true);
}
}
但是没有用。我的意思是注释得到 selected(OnDidSelectAnnotationView 方法被触发。)但是 infowindow 没有出现。我该如何解决这个问题?
我尝试使用 GestureRecognizerShouldBegin(看到它
补充:我在这里重现了这个问题。
http://www.mediafire.com/file/s1ahsdum258yqpk/selectannotationproblem.rar/file
当点击地图上除 pin 之外的任何地方时,SelectAnnotation 在 CustomMapRenderer 中触发。 Infowindow 显示一秒然后消失。
当我将它添加到 OnDidDeselectAnnotationView
((MKMapView)Control).SelectAnnotation(((MKMapView)Control).Annotations.ElementAt(0), true);
In 会像以前一样在第一次点击时消失。在第二次、第三次点击时它工作正常。为什么先?
我加延迟解决了
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);
}