我已经在 SO 和其他地方搜索了 MvvmCross 和 Modal,但是现有的一个答案对我们没有帮助。
我们正在使用 MonoTouch 和 MvvmCross 开发一个跨平台应用程序,这似乎是一个非常强大的组合。但是,我们在导航方面遇到了一些问题,我们正在逐步解决这些问题!目前的问题是——
该应用程序使用 TabBarController 运行,并且每个选项卡都可以导航到更多级别 - 这很好用。然而,客户端希望其中一个选项卡上的“开始”按钮显示一个模态视图(隐藏其他所有内容,尤其是选项卡栏),然后它有自己的级别,其工作方式与 UINavigationController 相同,具有能力随时弹回 tabBarController。
我们已经设法调出一个模态视图,但是我们一直停留在从这里加载新 View 并弹出回来。
任何帮助/建议表示赞赏!
最佳答案
我认为您要做的是自定义演示者,以便它将您的 UIViewController 包装在 UINavigationController 中 - 然后以模态方式呈现该 UINavigationController?
为了实现这一点,@DeapSquatter 最近的 Pull 请求中的代码可能会有所帮助 - https://github.com/slodge/MvvmCross/pull/9 - 我想你可以用他的modal nav presenter为了达到你想要的效果:
if (view is IMvxModalTouchView)
{
if (_currentModalViewController != null)
throw new MvxException("Only one modal view controller at a time supported");
var newNav = new UINavigationController();
newNav.PushViewController(view as UIViewController, false);
_currentModalViewController = view as UIViewController;
PresentModalViewController(newNav, true);
return;
}
mvvmcross 的架构在这里是特意可扩展和可配置的——虽然我们包含了一些基本的 Presenter 类,但人们很可能希望在逐个应用程序的基础上自定义不同 View 的呈现方式。除了最简单的演示应用程序之外,我预计大多数 mvvmcross 触摸应用程序都将附带一个自定义演示器。
希望有帮助
斯图尔特
关于xamarin.ios - MvvmCross 使用选项卡中的模态 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11037119/