this.NavigationController 为空(xamarin ios stoaryboard)

this.NavigationController is null (xamarin ios stoaryboard)

当我通过单击登录按钮从一个故事板移动到另一个故事板时,this.NavigationController 显示为空。所以我无法 PushViewController。

我有一个带有两个视图的故事板,并且两个视图有单独的 UIViewControllers。

您必须显式创建 UINavigationController 并将初始视图控制器放入其中。这样做会自动设置该导航控制器中包含的任何视图控制器的 NavigationController 属性。

// create the view controller for your initial view - using storyboard, code, etc
var first = new UIViewController(...); 

// wrap your VC inside a Nav controller
var nav = new UINavigationController(first);

只是为了添加到 Jason 的回答中。默认情况下 RootViewcontroller 是初始视图控制器。 我所做的是用导航视图控制器覆盖初始视图控制器:

[Register("AppDelegate")]
public class AppDelegate : UIApplicationDelegate
{
    public override UIWindow Window
    {
        get;
        set;
    } 

    public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
    {
        Window.RootViewController = new UINavigationController(Window.RootViewController);
        return true;
    }

这是我添加的行:

Window.RootViewController = new UINavigationController(Window.RootViewController);

Window.RootViewController:是ViewController,例如MainViewController 我正在用导航控制器覆盖这个默认设置的初始控制器。 这对我来说非常有效。