Xamarin.Forms Master/Detail iOS 边缘滑动
Xamarin.Forms Master/Detail edge swipe on iOS
在 Android 和 iOS 上显示母版页(抽屉菜单)的滑动手势有所不同。
在 Android 上,它仅从屏幕边缘滑动,而在 iOS 上,它从屏幕上的任意点滑动。
全屏滑动的问题是我的详细信息页面之一是地图,用户不能进行任何从左到右的滚动,因为主详细信息手势会覆盖地图手势处理程序。
我通过简单的检查解决了这个问题
IsGestureEnabled = page.DetailPage != MenuItemViewModel.Detail.Map || Device.RuntimePlatform != Device.iOS;
这有效地禁用了左侧菜单滑动,但我真正想要的是从边缘滑动,就像在 Android 上发生的那样。
是否有一种简单的方法(即没有自定义渲染器)在 Xamarin Forms 中对 iOS 进行菜单边缘滑动?
最简单的就是获取Mr Gestures插件,然后在Swipe或Panning事件上从根页面打开菜单
//---------------------------------------------------------
public void ShowMenu()
//---------------------------------------------------------
{
Debug.WriteLine("Root ShowMenu");
IsPresented = true;
}
在 Android 和 iOS 上显示母版页(抽屉菜单)的滑动手势有所不同。 在 Android 上,它仅从屏幕边缘滑动,而在 iOS 上,它从屏幕上的任意点滑动。 全屏滑动的问题是我的详细信息页面之一是地图,用户不能进行任何从左到右的滚动,因为主详细信息手势会覆盖地图手势处理程序。 我通过简单的检查解决了这个问题
IsGestureEnabled = page.DetailPage != MenuItemViewModel.Detail.Map || Device.RuntimePlatform != Device.iOS;
这有效地禁用了左侧菜单滑动,但我真正想要的是从边缘滑动,就像在 Android 上发生的那样。
是否有一种简单的方法(即没有自定义渲染器)在 Xamarin Forms 中对 iOS 进行菜单边缘滑动?
最简单的就是获取Mr Gestures插件,然后在Swipe或Panning事件上从根页面打开菜单
//---------------------------------------------------------
public void ShowMenu()
//---------------------------------------------------------
{
Debug.WriteLine("Root ShowMenu");
IsPresented = true;
}