我在一個循環中創建圖像列表,並將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>
InputTransparent="True"
究竟不工作? –當我點擊圖像時,ViewImage(I)方法不運行。 –
嘗試在迭代後添加TapGestureRecognizer,因爲事件正在循環運行。 –