Rg.Plugins.Popup: iOS - ListView inside of Popup no longer firing ItemSelected unless list item is long pressed
I am using a Popup with a ListView and custom ViewCell inside. This was working just fine in version 0.0.9, but since upgrading to 0.0.12 I now have to press the listview item for a few seconds and release in order for ItemSelected to fire. I used to only need to tap the list item quickly.
Again, this worked fine in 0.0.9. Not sure what changed since then. The XAML in my PCL looks like this…
<pages:PopupPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:pages="clr-namespace:Rg.Plugins.Popup.Pages;assembly=Rg.Plugins.Popup">
<ListView x:Name="ListView" ItemSelected="OnSelection" >
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal" >
<Label Text = "{Binding DisplayValue}" ></Label>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</pages:PopupPage>
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 15 (7 by maintainers)
Commits related to this issue
- fix(TapGesture, CancelsTouchesInView, IOS): ItemSelected did not work in ListView on ios. See #8 — committed to rotorgames/Rg.Plugins.Popup by rotorgames 8 years ago
@rotorgames Sorry to have bothered you. The problem is in fact not Rg.Plugins.Popup but the different handling of GestureRecognizers in iOS and Android. When multiple GestureRecognizers are registered iOS seems to favor the last one and Android calls them all. This led to the problem in my case.
@iupchris10 Yes, I can confirm this bug. This is due to the implementation of gestures PopupPageRenderer for ios. Once corrected, I will inform you. Thank you.