我已经在代码中创建了所有UI(因为我使用的Flyout Navigation似乎不适用于故事板)。我有一个名为MainController
的UINavigationController和一系列视图控制器。当我使用根控制器启动应用程序时,它会很好地显示导航栏。
当我以编程方式创建一个名为ArticleDisplay
的新ViewController时,我创建并推送它(在MainController中):
public void Open_Article(Post post)
{
ArticleDisplay vw = new ArticleDisplay(this);
vw.SetPost(post); // to set the iOS
this.PushViewController(vw, true);
}
当我运行应用程序并显示ArticleDisplay控制器时,我没有获得导航栏(as you can see in this image),尽管主视图控制器有一个导航栏。尝试做this.SetNavigationBarHidden(false,true)
之类的事情。
如何让导航栏显示?我确定我把它搞砸了。我需要它,所以我可以让用户回到之前的控制器。
答案 0 :(得分:1)
在查看FlyoutNavigation
之后,似乎可以使用Storyboard
尝试下载示例项目(as pointed out by Mohib Sheth)并在按钮和第二个视图之间创建推送段。
使用PushViewController
方法
如果您仍想使用PushViewController
方法,请确保您的初始视图(如点击FlyOutNavigation项目后所示)为NavigationController
。此NavigationController
将控制当前页面的导航堆栈。
既然ViewController
被NavigationController
包裹,您可以添加按钮或只调用NavigationController.PushViewController
方法。
PushView.TouchDown += (evt, args) =>
{
NavigationController.PushViewController(new UIViewController(), true);
};
我希望这有帮助!