Reconocimiento simultáneo de gestos de movimiento panorámico en iOS
Cuando se adjunta a PanGestureRecognizer
una vista dentro de una vista de desplazamiento, todos los gestos de movimiento panorámico se capturan mediante PanGestureRecognizer
y no se pasan a la vista de desplazamiento. Por lo tanto, la vista de desplazamiento ya no se desplazará.
Esta plataforma específica de iOS permite que en PanGestureRecognizer
una vista de desplazamiento capture y comparta el gesto de movimiento panorámico con la vista de desplazamiento. Se consume en XAML estableciendo la Application.PanGestureRecognizerShouldRecognizeSimultaneously
propiedad true
adjunta en :
<Application ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
ios:Application.PanGestureRecognizerShouldRecognizeSimultaneously="true">
...
</Application>
Como alternativa, se puede consumir desde C# mediante la API fluida:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
Xamarin.Forms.Application.Current.On<iOS>().SetPanGestureRecognizerShouldRecognizeSimultaneously(true);
El Application.On<iOS>
método especifica que esta plataforma específica solo se ejecutará en iOS. El Application.SetPanGestureRecognizerShouldRecognizeSimultaneously
método , en el Xamarin.Forms.PlatformConfiguration.iOSSpecific
espacio de nombres , se usa para controlar si un reconocedor de gestos de movimiento panorámico en una vista de desplazamiento capturará el gesto de panorámica, o capturará y compartirá el gesto de movimiento panorámico con la vista de desplazamiento. Además, el Application.GetPanGestureRecognizerShouldRecognizeSimultaneously
método se puede usar para devolver si el gesto de movimiento panorámico se comparte con la vista de desplazamiento que contiene .PanGestureRecognizer
Por lo tanto, con esta plataforma específica de la plataforma habilitada, cuando un ListView
objeto contiene , PanGestureRecognizer
y ListView
PanGestureRecognizer
el recibirá el gesto de movimiento panorámico y lo procesará. Sin embargo, con esta plataforma específica de la plataforma deshabilitada, cuando ListView
contiene un PanGestureRecognizer
elemento , PanGestureRecognizer
capturará el gesto de movimiento panorámico y lo procesará, y no ListView
recibirá el gesto de movimiento panorámico.