Sdílet prostřednictvím


Současné rozpoznávání gest posouvání v iOSu

PanGestureRecognizer Když je připojen k zobrazení uvnitř zobrazení pro posouvání, jsou všechna gesta posouvání zachycena PanGestureRecognizer a nepředá se do zobrazení pro posouvání. Proto se zobrazení pro posouvání už nebude posouvat.

Toto uživatelské rozhraní pro víceplatformní aplikace .NET (.NET MAUI) pro iOS umožňuje PanGestureRecognizer v zobrazení pro posouvání zachytit a sdílet gesto posouvání pomocí zobrazení pro posouvání. Využívá se v XAML nastavením Application.PanGestureRecognizerShouldRecognizeSimultaneously připojené vlastnosti na true:

<Application ...
             xmlns:ios="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;assembly=Microsoft.Maui.Controls"
             ios:Application.PanGestureRecognizerShouldRecognizeSimultaneously="true">
    ...
</Application>

Alternativně ho můžete využívat z jazyka C# pomocí rozhraní FLUENT API:

using Microsoft.Maui.Controls.PlatformConfiguration;
using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;
...

Application.Current.On<iOS>().SetPanGestureRecognizerShouldRecognizeSimultaneously(true);

Metoda Application.On<iOS> určuje, že se tato platforma bude spouštět pouze v iOSu. Metoda Application.SetPanGestureRecognizerShouldRecognizeSimultaneously v Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific oboru názvů slouží k řízení, zda rozpoznávání gest posouvání v zobrazení posouvání bude zachytit gesto posouvání nebo zachytit a sdílet gesto posouvání s zobrazením posouvání. Kromě toho lze metodu Application.GetPanGestureRecognizerShouldRecognizeSimultaneously použít k vrácení, zda je gesto posouvání sdíleno s posouváním zobrazení, které obsahuje PanGestureRecognizer.

Díky této platformě specifické pro tuto platformu, pokud ListView obsahuje PanGestureRecognizer, a to jak ListView a bude PanGestureRecognizer přijímat gesto posouvání a zpracovat ho. Pokud však tato platforma je zakázaná, pokud ListView obsahuje PanGestureRecognizer, PanGestureRecognizer bude zachytit gesto posunu a zpracovat ho a ListView nebude přijímat gesto posouvání.