共用方式為


iOS 上的同時移動瀏覽手勢辨識

PanGestureRecognizer當 附加至卷動檢視內的檢視時,所有平移手勢都會由 PanGestureRecognizer 擷取,而且不會傳遞至卷動檢視。 因此,卷動檢視將不再捲動。

此 iOS 平臺特定可讓 PanGestureRecognizer 在卷動檢視中擷取並共用平移手勢與卷動檢視。 將附加屬性true設定Application.PanGestureRecognizerShouldRecognizeSimultaneously為 ,以在 XAML 中取用它:

<Application ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
             ios:Application.PanGestureRecognizerShouldRecognizeSimultaneously="true">
    ...
</Application>

或者,您可以使用 Fluent API 從 C# 取用它:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

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

方法 Application.On<iOS> 會指定此平台專屬只會在iOS上執行。 命名空間 Application.SetPanGestureRecognizerShouldRecognizeSimultaneously 中的 Xamarin.Forms.PlatformConfiguration.iOSSpecific 方法可用來控制卷動檢視中的平移手勢辨識器是否會擷取平移手勢,或擷取並與卷動檢視共用平移手勢。 此外, Application.GetPanGestureRecognizerShouldRecognizeSimultaneously 方法可以用來傳回是否與包含 PanGestureRecognizer的卷動檢視共用平移手勢。

因此,啟用此平臺特定功能時,當 包含 PanGestureRecognizerListViewListViewPanGestureRecognizer 都會接收平移手勢並加以處理。 不過,當 這個平臺特定停用時,當 包含 PanGestureRecognizerListView,會PanGestureRecognizer擷取平移手勢並加以處理,且 ListView 不會接收平移手勢。