我已经在代码中创建了所有 UI(因为我使用了 Flyout Navigation,这似乎不适用于 Storyboard )。我有一个名为 MainController 的 UINavigationController 和一系列 View Controller 。当我使用根 Controller 启动应用程序时,它会很好地显示导航栏。
当我以编程方式创建一个名为 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 Controller 时,我没有看到导航栏 (as you can see in this image),尽管主视图 Controller 有一个导航栏。尝试执行 this.SetNavigationBarHidden(false,true) 之类的操作什么也不做。
如何让导航栏显示?我确定我在某个地方搞砸了。我需要它,这样我才能让用户回到他们之前所在的 Controller 。
Best Answer-推荐答案 strong>
在查看 FlyoutNavigation 之后,似乎可以使用 Storyboard
尝试下载示例项目 (as pointed out by Mohib Sheth) 并在按钮和第二个 View 之间创建一个推送段。
使用 PushViewController 方法
如果您仍想使用 PushViewController 方法,请确保您的初始 View (如单击 FlyOutNavigation 项后所示)是 NavigationController 。此 NavigationController 将控制当前页面的导航堆栈。
现在 ViewController 由 NavigationController 包装,您可以添加一个按钮或只调用 NavigationController.PushViewController 方法。
PushView.TouchDown += (evt, args) =>
{
NavigationController.PushViewController(new UIViewController(), true);
};
我希望这会有所帮助!
关于ios - Xamarin iOS : navigation bar not showing after pushing view,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/36393192/
|