【发布时间】:2021-04-26 02:19:13
【问题描述】:
简而言之,我希望在 MvvMCross 默认模板中禁用 iOS 导航上的滑动手势。进行了大量的研究和试验,但没有成功。这是针对我正在从事的个人/开源项目的。谢谢!!!
详情: 使用 MvvmCross 7.1.6(最新于 2021 年 1 月 21 日)。我已经实现了一个 MvxContentPage。该页面上有 2 个操纵杆。该页面还打开了我想要的汉堡包。在手机上使用该应用程序时,移动操纵杆时会出现左侧导航弹出窗口。我已经研究了我能找到的所有东西,并且在 Xamarin.Forms 禁用手势方面取得了成功,但在 MvvmCross 中我找不到阻止滑动的方法。我知道其他论坛上也有类似的帖子,但没有发现任何有效的东西。我能够使用 2016 年的 Xamarin 帖子构建自定义渲染器,但它似乎不成立(代码如下)。我可以确认渲染器已被调用。
using AstromechControl.iOS.CustomRenderers;
using UIKit;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportRenderer(typeof(AstromechControl.UI.Pages.JoystickPage), typeof(NoSwipeiOSCustomPageRenderer))]
namespace AstromechControl.iOS.CustomRenderers
{
public class NoSwipeiOSCustomPageRenderer : PageRenderer
{
public override void ViewDidAppear(bool animated)
{
base.ViewDidAppear(animated);
UINavigationController navctrl = ViewController.NavigationController;
navctrl.InteractivePopGestureRecognizer.Enabled = false;
ViewController.SetNeedsUpdateOfScreenEdgesDeferringSystemGestures();
}
}
}
【问题讨论】:
-
你可以试试
UINavigationController navctrl2 = this.NavigationController;吗? -
@JackHua-MSFT 感谢您的注意,但不,这没有用...感谢任何其他想法!
标签: ios xamarin xamarin.forms mvvmcross master-detail