Reconnaissance simultanée des mouvements panoramiques sur iOS
Lorsqu’un PanGestureRecognizer
affichage est attaché à un affichage à l’intérieur d’une vue de défilement, tous les mouvements panoramiques sont capturés par le PanGestureRecognizer
mode de défilement et ne sont pas passés à l’affichage de défilement. Par conséquent, la vue de défilement ne fait plus défiler.
Cette plateforme iOS spécifique permet à une PanGestureRecognizer
vue de défilement de capturer et de partager le mouvement panoramique avec l’affichage de défilement. Elle est consommée en XAML en définissant la Application.PanGestureRecognizerShouldRecognizeSimultaneously
propriété jointe sur true
:
<Application ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
ios:Application.PanGestureRecognizerShouldRecognizeSimultaneously="true">
...
</Application>
Elle peut également être consommée à partir de C# à l’aide de l’API Fluent :
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
Xamarin.Forms.Application.Current.On<iOS>().SetPanGestureRecognizerShouldRecognizeSimultaneously(true);
La Application.On<iOS>
méthode spécifie que cette plateforme ne s’exécutera que sur iOS. La Application.SetPanGestureRecognizerShouldRecognizeSimultaneously
méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific
de noms, est utilisée pour contrôler si un module de reconnaissance panoramique dans une vue de défilement capture le mouvement panoramique, ou capture et partage le mouvement panoramique avec l’affichage de défilement. En outre, la Application.GetPanGestureRecognizerShouldRecognizeSimultaneously
méthode peut être utilisée pour retourner si le mouvement panoramique est partagé avec la vue de défilement qui contient le PanGestureRecognizer
.
Par conséquent, avec cette fonctionnalité spécifique à la plateforme, lorsqu’un ListView
conteneur contient, PanGestureRecognizer
à la fois le ListView
mouvement panoramique et le PanGestureRecognizer
traitera. Toutefois, avec cette fonctionnalité spécifique à la plateforme désactivée, lorsqu’un ListView
conteneur contient, PanGestureRecognizer
le PanGestureRecognizer
mouvement panoramique capture le mouvement panoramique et le traite, et le ListView
ne reçoit pas le mouvement panoramique.