首页 文章

Xamarin表单点击手势识别器Ios不起作用

提问于
浏览
2

我的 Xamarin Forms项目中有一些关于Gesture Recognizer的问题 . 我正在努力将三个Image设置为网格图层以查看具有 Zxing Forms库的取景器,以进入特定页面并管理闪光灯摄像头设备 .

在我编译和构建我的项目之后,进入Android设备的工作非常完美,除了Ios,当我触摸它们的图像时,它们根本不起作用 . 我编写代码没有任何错误 .

例如,Tap识别器就是这样编写的:

var settingsGestureRecognizer = new TapGestureRecognizer();
settingsGestureRecognizer.NumberOfTapsRequired = 1;
settingsGestureRecognizer.Tapped += async(s, e) =>
    {
        // handle the tap
        NavigationPage nav = new NavigationPage(new SettingsPage());
        await Navigation.PushModalAsync(nav);
    };

而且,我将它添加到像这样的按钮中

settingsImage = new Image
    {
        Source = ImageSource.FromFile(ConstantStringCollector.iconSettings),
        Aspect = Aspect.AspectFit,
        WidthRequest = 45,
        HeightRequest = 45,
        MinimumHeightRequest = 45,
        MinimumWidthRequest = 45,
        IsEnabled = true
    };
settingsImage.GestureRecognizers.Add(settingsGestureRecognizer);

然后是我的个人布局

StackLayout stackLayoutBottom = new StackLayout
{
    IsEnabled = true,
    IsVisible = true,
    IsClippedToBounds = true,
    Padding = new Thickness(20, 20),
    BackgroundColor = Color.Black,
    Opacity = 0.8,
    VerticalOptions = LayoutOptions.FillAndExpand,
    Orientation = StackOrientation.Horizontal,
    Children = {
                infoImage,
                flashImage,
                settingsImage
                }

};

有人可以帮帮我吗?

2 回答

  • 1

    你能试试吗?

    NavigationPage nav = new NavigationPage(new SettingsPage());
    var settingsGestureRecognizer = new TapGestureRecognizer();
    settingsGestureRecognizer.NumberOfTapsRequired = 1;
    settingsGestureRecognizer.Tapped += async(s, e) =>
        {
            await Navigation.PushModalAsync(nav);
        };
    
  • 0

    如果你想要点击的是可见的,那么我会看看它是否正在输入,一个选项是打开除了图像之外的所有项目的InputTransparent,看看是否可以让你的图像接收输入 .

    见:InputTransparent

相关问题