私はループ内で画像のリストを作成し、それぞれに TapGestureRecognizerを付けてメソッドを実行しています。 Androidでは動作しますが、iOSでは動作しません。何故ですか?グリッドやScrollViewに問題がありますか?ここでXamarinフォーム - iOSでTapGestureRecognizerが動作しない
は私のコードです:ここでは
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を追加してみます。 –