Xamarin Forms - TapGestureRecognizer不适用于iOS
问题描述:
我在一个循环中创建图像列表,并将TapGestureRecognizer附加到每个人都可以运行的方法。它在Android上工作,但不在iOS上。这是为什么?它在Grid中还是在ScrollView中有问题?Xamarin Forms - TapGestureRecognizer不适用于iOS
这里是我的代码:
foreach (var i in files)
{
Image image = new Image { Aspect = Aspect.AspectFit };
image.Source = ImageSource.FromUri(new System.Uri(i));
Button button = new Button();
link = i;
var tapGestureRecognizer = new TapGestureRecognizer();
tapGestureRecognizer.Tapped += (s, e) =>
{
ViewImage(i);
};
image.GestureRecognizers.Add(tapGestureRecognizer);
gridy.Children.Add(image, 0, num);
num++;
}
这里是我的XAML:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="YHTS.Gallery"
Title="Gallery"
BackgroundColor="Black">
<ScrollView >
<Grid x:Name="gridy">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
</Grid>
</ScrollView>
答
设置的View
+0
这样做。谢谢! –
+0
@Kowalski你能解释一下为什么这个工作。我的意思是为什么我们需要在iOS中将scrollview设置为InputTransparent –
InputTransparent="True"
究竟不工作? –当我点击图像时,ViewImage(I)方法不运行。 –
尝试在迭代后添加TapGestureRecognizer,因为事件正在循环运行。 –