Reconhecimento simultâneo de gestos panorâmicos no iOS

Quando um é anexado a um modo de exibição dentro de um PanGestureRecognizer modo de exibição de rolagem, todos os gestos de movimento panorâmico são capturados PanGestureRecognizer pelo e não são passados para o modo de exibição de rolagem. Portanto, o modo de exibição de rolagem não rolará mais.

Esta interface do usuário do aplicativo multiplataforma .NET (.NET MAUI) específica da plataforma iOS permite que um modo de exibição de rolagem capture e compartilhe o gesto de panorâmica com o modo de exibição de PanGestureRecognizer rolagem. Ele é consumido em XAML definindo a propriedade anexada Application.PanGestureRecognizerShouldRecognizeSimultaneously como true:

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

Como alternativa, ele pode ser consumido do C# usando a API fluente:

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

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

O Application.On<iOS> método especifica que essa plataforma específica só será executada no iOS. O Application.SetPanGestureRecognizerShouldRecognizeSimultaneously método, no namespace, é usado para controlar se um reconhecedor de gesto Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific de movimento panorâmico em um modo de exibição de rolagem capturará o gesto de panorâmica ou se capturará e compartilhará o gesto de movimento panorâmico com o modo de exibição de rolagem. Além disso, o método pode ser usado para retornar se o gesto de panorâmica é compartilhado com o modo de exibição de rolagem que contém o Application.GetPanGestureRecognizerShouldRecognizeSimultaneouslyPanGestureRecognizer.

Portanto, com esse específico da plataforma habilitado, quando um contém um ListViewPanGestureRecognizer, tanto o e o receberão o gesto de panorâmica e o ListViewPanGestureRecognizer processarão. No entanto, com esse dispositivo específico da plataforma desabilitado, quando um contém um ListViewPanGestureRecognizer, o capturará o gesto de panorâmica e o processará, e o não receberá o PanGestureRecognizer gesto ListView de panorâmica.