Xamarin 表单:SwipeGestureRecognizer 还启用 MasterDetailPage 导航抽屉?
Xamarin forms: SwipeGestureRecognizer also enable MasterDetailPage Navigation Drawer?
我在主页上使用 SwipeGestureRecognizer
实现了滑动功能。但问题是主页是 MasterDetailPage
的子页面。所以当我在主页向左滑动时,导航抽屉也来到UI。当使用 MessagingCenter
执行 SwipeGestureRecognizer
时,我已尝试像下面那样停止在 UI 上显示导航抽屉,但没有成功!!!
在主页上
public void Swipe(object sender, EventArgs e)
{
MessagingCenter.Send<HomePage>(this, "HomePageSwipe");
//code for swipe
}
在 MasterDetailPage 构造函数上
MessagingCenter.Subscribe<HomePage1>(this, "HomePageSwipe", (sender) =>
{
IsPresented = false;
NavigationPage.SetHasNavigationBar(this, false);
});
有什么办法可以解决这个问题吗?
我相信这种行为只发生在 ios。要禁用它,您需要将其添加到 OnAppearing() 方法
if (Xamarin.Forms.Device.RuntimePlatform == Xamarin.Forms.Device.iOS)
{
IsGestureEnabled = false;
}
我在主页上使用 SwipeGestureRecognizer
实现了滑动功能。但问题是主页是 MasterDetailPage
的子页面。所以当我在主页向左滑动时,导航抽屉也来到UI。当使用 MessagingCenter
执行 SwipeGestureRecognizer
时,我已尝试像下面那样停止在 UI 上显示导航抽屉,但没有成功!!!
在主页上
public void Swipe(object sender, EventArgs e)
{
MessagingCenter.Send<HomePage>(this, "HomePageSwipe");
//code for swipe
}
在 MasterDetailPage 构造函数上
MessagingCenter.Subscribe<HomePage1>(this, "HomePageSwipe", (sender) =>
{
IsPresented = false;
NavigationPage.SetHasNavigationBar(this, false);
});
有什么办法可以解决这个问题吗?
我相信这种行为只发生在 ios。要禁用它,您需要将其添加到 OnAppearing() 方法
if (Xamarin.Forms.Device.RuntimePlatform == Xamarin.Forms.Device.iOS)
{
IsGestureEnabled = false;
}