Aracılığıyla paylaş


iOS'ta Eşzamanlı Kaydırma Hareketi Tanıma

kaydırma PanGestureRecognizer görünümünün içindeki bir görünüme eklendiğinde, kaydırma hareketlerinin tümü tarafından PanGestureRecognizer yakalanır ve kaydırma görünümüne geçirilir. Bu nedenle, kaydırma görünümü artık kaydırmaz.

Bu iOS platformuna özgü, kaydırma görünümünde kaydırma hareketini yakalayıp kaydırma görünümüyle paylaşmasını sağlar PanGestureRecognizer . Ekli özelliği trueolarak ayarlanarak Application.PanGestureRecognizerShouldRecognizeSimultaneously XAML'de kullanılır:

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

Alternatif olarak, akıcı API kullanılarak C# dilinden de kullanılabilir:

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

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

Application.On<iOS> yöntemi, platforma özgü bu uygulamanın yalnızca iOS üzerinde çalışacağını belirtir. Application.SetPanGestureRecognizerShouldRecognizeSimultaneously ad alanında Xamarin.Forms.PlatformConfiguration.iOSSpecific yöntemi, kaydırma görünümündeki kaydırma hareketi tanıyıcısının kaydırma hareketini yakalayıp yakalamayacağını veya kaydırma hareketini yakalayıp kaydırma görünümüyle paylaşıp paylaşmayacağını denetlemek için kullanılır. Ayrıca, kaydırma hareketinin Application.GetPanGestureRecognizerShouldRecognizeSimultaneously öğesini içeren PanGestureRecognizerkaydırma görünümüyle paylaşılıp paylaşılmadığını döndürmek için yöntemi kullanılabilir.

Bu nedenle, bu platforma özgü etkin durumdayken, bir ListView PanGestureRecognizeriçerdiğinde hem ve ListView PanGestureRecognizer hem de kaydırma hareketini alır ve işler. Ancak, bu platforma özgü devre dışı bırakıldığında, bir ListView PanGestureRecognizerPanGestureRecognizer içerdiğinde, kaydırma hareketini yakalar ve işler ve ListView kaydırma hareketini almaz.