Jednoczesne rozpoznawanie gestów przesuwania w systemie iOS
Gdy element PanGestureRecognizer jest dołączony do widoku wewnątrz widoku przewijania, wszystkie gesty przesuwania są przechwytywane przez PanGestureRecognizer element i nie są przekazywane do widoku przewijania. W związku z tym widok przewijania nie będzie już przewijany.
Ten wieloplatformowy interfejs użytkownika aplikacji platformy .NET (.NET MAUI) dla systemu iOS umożliwia PanGestureRecognizer wyświetlanie przewijania w celu przechwytywania i udostępniania gestu przewijania z widokiem przewijania. Jest on używany w języku XAML przez ustawienie dołączonej Application.PanGestureRecognizerShouldRecognizeSimultaneously
właściwości na wartość true
:
<Application ...
xmlns:ios="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;assembly=Microsoft.Maui.Controls"
ios:Application.PanGestureRecognizerShouldRecognizeSimultaneously="true">
...
</Application>
Alternatywnie można go używać z poziomu języka C# przy użyciu płynnego interfejsu API:
using Microsoft.Maui.Controls.PlatformConfiguration;
using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;
...
Application.Current.On<iOS>().SetPanGestureRecognizerShouldRecognizeSimultaneously(true);
Metoda Application.On<iOS>
określa, że ta platforma będzie działać tylko w systemie iOS. Metoda Application.SetPanGestureRecognizerShouldRecognizeSimultaneously
, w Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific
przestrzeni nazw, służy do kontrolowania, czy rozpoznawanie gestów przesuwania w widoku przewijania przechwytuje gest pan lub przechwytuje i udostępnia gest patelni z widokiem przewijania. Ponadto można użyć metody w celu zwrócenia, Application.GetPanGestureRecognizerShouldRecognizeSimultaneously
czy gest przesuwania jest udostępniany z widokiem przewijania zawierającym PanGestureRecognizerelement .
W związku z tym, w przypadku włączenia tej platformy, gdy element ListView zawiera , zarówno ListView , jak i PanGestureRecognizer otrzyma gest pan i PanGestureRecognizerprzetworzy go. Jednak po wyłączeniu tej platformy, gdy element ListView zawiera element , PanGestureRecognizer funkcja przechwytuje gest patelni i przetwarza go, a ListView nie otrzyma PanGestureRecognizergestu pan.