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
的卷動檢視共用平移手勢。
因此,啟用此平臺特定功能時,當 包含 PanGestureRecognizer
時ListView
,ListView
和 PanGestureRecognizer
都會接收平移手勢並加以處理。 不過,當 這個平臺特定停用時,當 包含 PanGestureRecognizer
時ListView
,會PanGestureRecognizer
擷取平移手勢並加以處理,且 ListView
不會接收平移手勢。