title: A TabBarViewController cannot be presented as a child. Consider using Root instead
body: <p>On the start of my iOS application (that I am building with Xamarin and MvvmCross), I want to immediately change <code>UIViewController</code> to a <code>UITabBarViewController</code>. My code:</p>
  
  <pre><code>public class MainViewModel : BaseViewModel
  {
      public void Initialization()
      {
          ShowViewModel&lt;TabLayoutViewModel&gt;(); // Breaks here
      }
  }
  
  public class MainViewController : BaseViewController&lt;MainViewModel&gt;
  {
      public override void ViewDidLoad()
      {
          base.ViewDidLoad();
  
          this.ViewModel.Initialization();
      }
  }
  
  public class TabLayoutViewController : MvxTabBarViewController&lt;TabLayoutViewModel&gt;
  {
  }
  </code></pre>
  
  <p>On the line <code>ShowViewModel&lt;TabLayoutViewModel&gt;()</code> it throws an exception:</p>
  
  <blockquote>
    <p>A TabBarViewController cannot be presented as a child. Consider using
    Root instead</p>
  </blockquote>
  
  <p>I just want to push this controller on top of the stack. I know this is legal in plain iOS so there should be a way to do it with MvvmCross?</p>