title: Xamarin.Forms TapGestureRecognizer not working in IOS
body: <p>I have been using TapGestureRecognizer for a while now, I had this issue from the beginning (the first time when I tested the app on an IOS device, for some reason I am having issues running a simulator, so I have been using a physical IOS device (iPhone 12 Pro Max)) and it seems that my TapGestureRecognizer is not being triggered on the IOS device. On UWP (which I mainly test on as it is quickest) I am able to switch between tabs, etc. on my app, (I am using TapGestureRecognizer for all buttons).</p>
  <p>Here is one of the more simple examples where I am able to use the buttons in UWP but not on IOS.</p>
  <p>XAML:</p>
  <pre><code>&lt;ContentPage xmlns=&quot;http://xamarin.com/schemas/2014/forms&quot; xmlns:x=&quot;http://schemas.microsoft.com/winfx/2009/xaml&quot; x:Class=&quot;fotbal.Oblibene&quot; xmlns:viewModel=&quot;clr-namespace:fotbal;assembly=fotbal&quot; xmlns:fotbal=&quot;clr-namespace:fotbal&quot;&gt;
      &lt;Grid x:Name=&quot;Menu_Grid&quot; /&gt;
  &lt;/ContentPage&gt;
  </code></pre>
  <p>CS:</p>
  <pre><code>Menu_Grid.ColumnSpacing = 30;
  
  Menu_Grid.Margin = new Thickness(15, 0, 0, 0);
  
  for (int i = 0; i &lt; 5; i++) Menu_Grid.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
  Menu_Grid.RowDefinitions.Add(new RowDefinition());
  
  var page_switcher_tap_recognizer = new TapGestureRecognizer();
  page_switcher_tap_recognizer.Tapped += (sender, e) =&gt;
  {
      tab_switcher(sender, Menu_Grid, Oblibene_ScrollView);
  };
  
  int j = 0;
              foreach (KeyValuePair&lt;string, string&gt; kvp in oblibene_categories)
              {
                  Grid grid = new Grid
                  {
                      RowDefinitions = { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(3) } },
                      ColumnDefinitions = { new ColumnDefinition() }
                  };
  
                  Label label = new Label { TextColor = Color.FromHex(&quot;#888888&quot;), Text = kvp.Key, FontAttributes = FontAttributes.Bold, FontSize = 15, HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center };
  
                  BoxView boxView = new BoxView { Color = Color.White };
                  if (kvp.Value == selected_category)
                  {
                      label.TextColor = Color.FromHex(&quot;#439564&quot;);
                      boxView.Color = Color.FromHex(&quot;#439564&quot;);
                  }
  
                  var label_page_switcher_tap_recognizer = new TapGestureRecognizer();
                  label_page_switcher_tap_recognizer.Tapped += (sender, e) =&gt;
                  {
                      tab_switcher(sender, Menu_Grid, Oblibene_ScrollView);
                  };
  
                  label.GestureRecognizers.Add(label_page_switcher_tap_recognizer);
  
                  var boxview_page_switcher_tap_recognizer = new TapGestureRecognizer();
                  boxview_page_switcher_tap_recognizer.Tapped += (sender, e) =&gt;
                  {
                      tab_switcher(sender, Menu_Grid, Oblibene_ScrollView);
                  };
                  boxView.GestureRecognizers.Add(boxview_page_switcher_tap_recognizer);
  
                  grid.Children.Add(label);
  
                  grid.Children.Add(new NeatFrame { Content = boxView, CornerRadius = 2 }, 0, 1);
  
                  var grid_page_switcher_tap_recognizer = new TapGestureRecognizer();
                  grid_page_switcher_tap_recognizer.Tapped += (sender, e) =&gt;
                  {
                      tab_switcher(sender, Menu_Grid, Oblibene_ScrollView);
                  };
                  grid.GestureRecognizers.Add(grid_page_switcher_tap_recognizer);
  
                  Menu_Grid.Children.Add(grid, j, 0);
                  j++;
              }
  </code></pre>