简体   繁体   English

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

[英]How to implement single view in Xamarin iOS & MVVMCross?

I'm trying to implement Login screen in first page but mvvmcross version 4.1.2 had implement Navigation Bar white transparent like image below. 我试图在首页中实现“登录”屏幕,但mvvmcross版本4.1.2已实现了导航栏白色透明,如下图所示。 So how can i remove it (not hidden) ? 那么,如何删除它(不是隐藏的)?

Thank for your help so much! 非常感谢您的帮助!

登录画面

The answer is simple by not using navigation controller. 通过不使用导航控制器,答案很简单。 You can do that by don't use the default presenter within MVVMCross. 您可以通过不使用MVVMCross中的默认演示者来做到这一点。

You can learn more about it within this post: http://gregshackles.com/presenters-in-mvvmcross-a-primer/ 您可以在这篇文章中了解有关它的更多信息: http : //gregshackles.com/presenters-in-mvvmcross-a-primer/

ou cannot completely remove the navigation controller when using MVVMCross, instead you would hide it. 使用MVVMCross时,您无法完全删除导航控制器,而是将其隐藏。 Which gives you the exact same effect as what you are looking for (I assume). 这会给您与您正在寻找的效果完全相同的效果(我认为)。 As mentioned by @mafis above. 如上文@mafis所述。

You can use a Custom iOS Presenter and do the following: 您可以使用自定义iOS Presenter并执行以下操作:

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

This will hide the navigationBar for every view and make sure you get fullscreen views. 这将隐藏每个视图的navigationBar,并确保您获得全屏视图。

Let me know if this helps. 让我知道是否有帮助。

I was found best solution for this by override ViewWillAppear to hide navigation bar. 通过覆盖ViewWillAppear隐藏导航栏,我找到了最佳解决方案。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM