OGeek|极客世界-中国程序员成长平台

标题: ios - Xamarin iOS : navigation bar not showing after pushing view [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 15:49
标题: ios - Xamarin iOS : navigation bar not showing after pushing view

我已经在代码中创建了所有 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-推荐答案


在查看 FlyoutNavigation 之后,似乎可以使用 Storyboard

Using storyboard

尝试下载示例项目 (as pointed out by Mohib Sheth) 并在按钮和第二个 View 之间创建一个推送段。

使用 PushViewController 方法

如果您仍想使用 PushViewController 方法,请确保您的初始 View (如单击 FlyOutNavigation 项后所示)是 NavigationController。此 NavigationController 将控制当前页面的导航堆栈。

现在 ViewControllerNavigationController 包装,您可以添加一个按钮或只调用 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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4