2017-07-11 12 views
2

私のXamarinフォームプロジェクトにジェスチャ認識ツールに関する問題があります。 私は、3つの画像をグリッドレイヤーに設定して、Zxingのビューファインダーを表示して、特定のページに入り、フラッシュカメラデバイスを管理するようにしていました。Xamarinフォームタップジェスチャ認識ツールIosが機能しない

私はプロジェクトをコンパイルしてビルドした後、Androidデバイスに完全に動作します。私はそれらのイメージに触れると全く動作しませんでした。コードを書くのに間違いはありません。

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のボタンにそれを追加してから、私の個人的なレイアウト

があります。たとえば

タップ認識は、これらのように書いています

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

コードを試すことができます。それは、問題が他の何かによって引き起こされた可能性が高いことを意味します。レイアウト全体を投稿できますか?ボタンとその 'TapGestureRecognizer'をブロックする要素が重なっているかもしれません。 –

答えて

0

タップしようとしているものが表示されている場合は、入力があるかどうかを見てみましょう.1つのオプションは、画像以外のすべてのアイテムについてInputTransparentをオンにし、あなたは入力します。

は、以下を参照してください。

1

InputTransparentはあなたがこれまでに投稿それが(ちょうど空のプロジェクトで検証)すべきであるとして動作します。この

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

これは実際に私のために働いた、ありがとう。 – Travis

関連する問題