IOS에서 동시 이동 제스처 인식Simultaneous Pan Gesture Recognition on iOS

샘플 다운로드 샘플 다운로드Download Sample Download the sample

경우는 PanGestureRecognizer 스크롤 뷰를 모든 제스처에 의해 캡처되는 pan의 내 보기에 연결할 때를 PanGestureRecognizer 스크롤 보기에 전달 되지 않습니다.When a PanGestureRecognizer is attached to a view inside a scrolling view, all of the pan gestures are captured by the PanGestureRecognizer and aren't passed to the scrolling view. 따라서 스크롤 뷰가 더 이상 스크롤됩니다.Therefore, the scrolling view will no longer scroll.

이 iOS 플랫폼에 해당 하는 PanGestureRecognizer 는 스크롤 뷰에서 이동 제스처를 캡처 및 공유 하는 데 사용할 수 있습니다.This iOS platform-specific enables a PanGestureRecognizer in a scrolling view to capture and share the pan gesture with the scrolling view. 설정 하 여 XAML에서 사용 되는 Application.PanGestureRecognizerShouldRecognizeSimultaneously 연결 된 속성을 true:It's consumed in XAML by setting the Application.PanGestureRecognizerShouldRecognizeSimultaneously attached property to true:

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

또는 fluent API를 사용 하 여 C#에서 사용할 수 있습니다.Alternatively, it can be consumed from C# using the fluent API:

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

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

Application.On<iOS> 메서드가 플랫폼별 iOS에만 실행 되도록 지정 합니다.The Application.On<iOS> method specifies that this platform-specific will only run on iOS. Application.SetPanGestureRecognizerShouldRecognizeSimultaneously 메서드를 합니다 Xamarin.Forms.PlatformConfiguration.iOSSpecific 스크롤 보기에서 이동 제스처 인식기는 팬 제스처를 캡처 또는 캡처 및 이동을 공유 하는지 여부를 네임 스페이스를 제어 하는 스크롤 뷰를 사용 하 여 제스처입니다.The Application.SetPanGestureRecognizerShouldRecognizeSimultaneously method, in the Xamarin.Forms.PlatformConfiguration.iOSSpecific namespace, is used to control whether a pan gesture recognizer in a scrolling view will capture the pan gesture, or capture and share the pan gesture with the scrolling view. 또한 합니다 Application.GetPanGestureRecognizerShouldRecognizeSimultaneously 팬 제스처를 포함 하는 스크롤 뷰를 사용 하 여 공유 되는지 여부를 반환 하려면 메서드를 사용할 수는 PanGestureRecognizer 합니다.In addition, the Application.GetPanGestureRecognizerShouldRecognizeSimultaneously method can be used to return whether the pan gesture is shared with the scrolling view that contains the PanGestureRecognizer.

따라서이 플랫폼별 경우 활성화를 사용 하 여는 ListView 포함을 PanGestureRecognizer 두는 ListViewPanGestureRecognizer 팬 제스처를 받게 됩니다 및 이 처리 합니다.Therefore, with this platform-specific enabled, when a ListView contains a PanGestureRecognizer, both the ListView and the PanGestureRecognizer will receive the pan gesture and process it. 그러나 플랫폼 특정을 사용할 수 없을 때이 사용 하 여는 ListView 포함을 PanGestureRecognizerPanGestureRecognizer 팬 제스처를 캡처 및 처리 됩니다 및 ListView 팬 제스처를 받지 않습니다.However, with this platform-specific disabled, when a ListView contains a PanGestureRecognizer, the PanGestureRecognizer will capture the pan gesture and process it, and the ListView won't receive the pan gesture.