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 【问题描述】:在 android 和 ios 上显示母版页(抽屉菜单)的滑动手势有所不同。 在 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 上的奇怪行为