iOS 上的 Xamarin.Forms Master/Detail 边缘滑动

Posted

技术标签:

【中文标题】iOS 上的 Xamarin.Forms Master/Detail 边缘滑动【英文标题】:Xamarin.Forms Master/Detail edge swipe on iOS 【发布时间】:2017-11-17 10:17:57 【问题描述】:

androidios 上显示母版页(抽屉菜单)的滑动手势有所不同。 在 Android 上,它只从屏幕边缘滑动,而在 iOS 上,从屏幕上的任何点滑动都会这样做。 全屏滑动的问题是我的详细信息页面之一是地图,用户无法进行任何从左到右的滚动,因为主详细信息手势覆盖了地图手势处理程序。 我通过一个简单的检查解决了这个问题

IsGestureEnabled = page.DetailPage != MenuItemViewModel.Detail.Map || Device.RuntimePlatform != Device.iOS;

这有效地禁用了左侧菜单滑动,但我真正想要的是从边缘滑动,就像在 Android 上发生的那样。

是否有一种简单的方法(即没有自定义渲染器)在 Xamarin Forms 中的 iOS 上进行菜单边缘滑动?

【问题讨论】:

除非您寻找替代方案,否则恐怕无法实现这一目标。 【参考方案1】:

最简单的就是获取Mr Gestures插件,然后在Swipe或者Panning事件从根页面打开菜单

//---------------------------------------------------------
public void ShowMenu()
//---------------------------------------------------------

    Debug.WriteLine("Root ShowMenu");
    IsPresented = true;

【讨论】:

以上是关于iOS 上的 Xamarin.Forms Master/Detail 边缘滑动的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 iOS 项目上禁用 xamarin.forms.maps 上的信息窗口?

iOS 上的 Xamarin.Forms Master/Detail 边缘滑动

Xamarin Forms - iOS 上的键盘覆盖条目(文本字段)

Xamarin Forms - 从 2017 年到 2019 年更新 Visual Studio 后 iOS 上的奇怪行为

TeamCity 上的 Xamarin 表单:Xamarin.Forms 任务与目标不匹配

在 Xamarin Forms iOS 13+ 应用程序中设置导航栏按钮上的字体