如何在Xamarin iOS和&amp ;;中实现单一视图MVVMCross?

时间:2016-05-19 03:39:13

标签: c# ios xamarin xamarin.ios mvvmcross

我正在尝试在第一页中实现登录屏幕,但mvvmcross版本4.1.2已实现导航栏白色透明,如下图所示。那么如何删除它(不隐藏)?

非常感谢你的帮助!

Login screen

3 个答案:

答案 0 :(得分:0)

通过不使用导航控制器,答案很简单。你可以这样做,不要在MVVMCross中使用默认的演示者。

您可以在此帖子中了解有关此内容的更多信息:http://gregshackles.com/presenters-in-mvvmcross-a-primer/

答案 1 :(得分:0)

使用MVVMCross时无法完全删除导航控制器,而是隐藏它。这给你的效果与你想要的完全相同(我假设)。正如@mafis上面提到的那样。

您可以使用自定义iOS展示器并执行以下操作:

protected override UINavigationController CreateNavigationController(UIViewController viewController)
{
  var navBar = base.CreateNavigationController(viewController);
  navBar.NavigationBarHidden = true;
  return navBar;
}

这将隐藏每个视图的navigationBar,并确保获得全屏视图。

如果有帮助,请告诉我。

答案 2 :(得分:0)

通过覆盖ViewWillAppear隐藏导航栏,我找到了最佳解决方案。

public override void ViewWillAppear(bool animated)
{
    base.ViewWillAppear(animated);
    NavigationController.SetNavigationBarHidden(false, false);
}