Condividi tramite


Riconoscimento simultaneo dei movimenti di panoramica in iOS

Quando un oggetto PanGestureRecognizer è collegato a una visualizzazione all'interno di una visualizzazione di scorrimento, tutti i movimenti di panoramica vengono acquisiti da PanGestureRecognizer e non vengono passati alla visualizzazione di scorrimento. Pertanto, la visualizzazione di scorrimento non scorrerà più.

Questa piattaforma iOS (.NET Multipiattaforma Ui) dell'interfaccia utente dell'app multipiattaforma .NET consente a un oggetto PanGestureRecognizer in una visualizzazione di scorrimento di acquisire e condividere il movimento di panoramica con la visualizzazione di scorrimento. Viene utilizzata in XAML impostando la Application.PanGestureRecognizerShouldRecognizeSimultaneously proprietà associata su true:

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

In alternativa, può essere usato da C# usando l'API Fluent:

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

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

Il Application.On<iOS> metodo specifica che questa piattaforma verrà eseguita solo in iOS. Il Application.SetPanGestureRecognizerShouldRecognizeSimultaneously metodo, nello spazio dei Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific nomi, viene usato per controllare se un riconoscimento movimento panoramica in una visualizzazione di scorrimento acquisisce il movimento di panoramica o acquisisce e condivide il movimento di panoramica con la visualizzazione di scorrimento. Inoltre, il Application.GetPanGestureRecognizerShouldRecognizeSimultaneously metodo può essere usato per restituire se il movimento di panoramica è condiviso con la visualizzazione di scorrimento che contiene l'oggetto PanGestureRecognizer.

Di conseguenza, con questa piattaforma abilitata, quando un ListView oggetto contiene un PanGestureRecognizeroggetto , e ListView PanGestureRecognizer riceverà il movimento di panoramica ed elaborarlo. Tuttavia, con questa piattaforma specifica disabilitata, quando un ListView oggetto contiene un PanGestureRecognizeroggetto , PanGestureRecognizer acquisisce il movimento di panoramica e lo elabora e non ListView riceverà il movimento di panoramica.