title: MvvmCross Tabs Controller wrapped into UINavigation Controller?
body: <p>I'm using Xamarin.iOS and MvvmCross 5.x. My root view is Tabs Controller and I want any request to show a child would force a stack navigation outside of the tabs (not inside).</p>
  
  <p>So I defined my root view as below:</p>
  
  <pre><code>[MvxFromStoryboard]
  [MvxRootPresentation(WrapInNavigationController = true)]
  public partial class HomeView : MvxTabBarViewController&lt;HomeViewModel&gt;
  </code></pre>
  
  <p>Unfortunately, the root navigation controller is not a UINavigationController (as I expect based on attribute) but HomeView which essentially tabs view and I'm unable to achieve my goal.</p>
  
  <p>Then I overrode the ios presenter to manually create root UINavigationController:</p>
  
  <pre><code>public class MySuperCoolIosViewPresenter : MvxIosViewPresenter
  {
      private UINavigationController _rootViewController; 
  
      public MySuperCoolIosViewPresenter(IMvxApplicationDelegate applicationDelegate, UIWindow window)
          : base(applicationDelegate, window)
      {
      }
  
      protected override void SetWindowRootViewController(UIViewController controller)
      {
          _rootViewController = new UINavigationController(controller);
          base.SetWindowRootViewController(_rootViewController);
      }
  
      protected override void ShowChildViewController(UIViewController viewController, MvvmCross.iOS.Views.Presenters.Attributes.MvxChildPresentationAttribute attribute, MvxViewModelRequest request)
      {
          _rootViewController.ShowViewController(viewController, _rootViewController);
      }
  }
  </code></pre>
  
  <p>But this code fails somewhere deep in the MvvmCross while trying to set the controller <code>base.SetWindowRootViewController(_rootViewController)</code> with the following error:</p>
  
  <pre><code>System.NullReferenceException: Object reference not set to an instance of an object\n  
  at MvvmCross.iOS.Views.Presenters.MvxIosViewPresenter.CloseTabBarViewController () [0x00036] in &lt;861dee92d7924acc93d876339b4b95f9&gt;:0  
  at MvvmCross.iOS.Views.MvxTabBarViewController.ViewWillDisappear (System.Boolean animated) [0x0001f] in &lt;861dee92d7924acc93d876339b4b95f9&gt;:0 
  at (wrapper managed-to-native) ObjCRuntime.Messaging:void_objc_msgSend_IntPtr (intptr,intptr,intptr)  
  at UIKit.UIWindow.set_RootViewController (UIKit.UIViewController value)
  </code></pre>
  
  <p>How can I achieve my goal without creating an extra ViewModel and View for the Root view (I don't like this approach because in this case Android will freak out) </p>