iOS에서 동시 이동 제스처 인식
PanGestureRecognizer
스크롤 보기 내의 보기에 연결된 경우 모든 이동 제스처가 캡처되고 PanGestureRecognizer
스크롤 보기에 전달되지 않습니다. 따라서 스크롤 보기는 더 이상 스크롤되지 않습니다.
이 iOS 플랫폼별을 사용하면 PanGestureRecognizer
스크롤 보기에서 이동 제스처를 캡처하고 스크롤 보기와 공유할 수 있습니다. 연결된 속성을 true
다음으로 설정하여 XAML에서 Application.PanGestureRecognizerShouldRecognizeSimultaneously
사용합니다.
<Application ...
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
ios:Application.PanGestureRecognizerShouldRecognizeSimultaneously="true">
...
</Application>
또는 흐름 API를 사용하여 C#에서 사용할 수 있습니다.
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
Xamarin.Forms.Application.Current.On<iOS>().SetPanGestureRecognizerShouldRecognizeSimultaneously(true);
이 메서드는 Application.On<iOS>
이 플랫폼별이 iOS에서만 실행되도록 지정합니다. 네임스페이스의 메서드 Xamarin.Forms.PlatformConfiguration.iOSSpecific
는 Application.SetPanGestureRecognizerShouldRecognizeSimultaneously
스크롤 보기의 이동 제스처 인식기가 이동 제스처를 캡처할지, 아니면 스크롤 보기와 팬 제스처를 캡처하고 공유할지 여부를 제어하는 데 사용됩니다. 또한 이 메서드를 Application.GetPanGestureRecognizerShouldRecognizeSimultaneously
사용하여 이동 제스처가 포함된 스크롤 뷰와 공유되는지 여부를 반환할 수 있습니다 PanGestureRecognizer
.
따라서 이 플랫폼별 활성화를 사용하면 포함PanGestureRecognizer
되는 경우 ListView
팬 ListView
제스처를 수신하고 PanGestureRecognizer
처리합니다. 그러나 이 플랫폼별 사용이 비활성화된 상태에서는 팬 제스처가 포함된 PanGestureRecognizer
PanGestureRecognizer
경우 ListView
이동 제스처를 캡처하고 처리하며 ListView
이동 제스처를 수신하지 않습니다.