【问题标题】:Navigation bar not visible when manual segue手动转场时导航栏不可见
【发布时间】:2013-09-27 09:52:14
【问题描述】:

我的应用程序中的 segues 有点问题。我正在尝试手动 PUSH segue。但是导航项/控制器/栏在目标控制器上不可见。当我使用按钮并使用该按钮继续定位视图控制器时,导航栏可见:/

我的代码很简单:

[self performSegueWithIdentifier:@"MySegue" sender:self];  

MySegue 是从 UINavigationController 的根视图控制器推送 segue 到目标控制器。

它甚至无法与这个一起工作

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:[NSBundle mainBundle]];
    UIViewController *controller = [storyboard instantiateViewControllerWithIdentifier:@"TargetViewController"];
    [self.navigationController pushViewController:controller animated:YES];

即使我在故事板中手动设置顶部栏(导航项)

感谢您的帮助:)

【问题讨论】:

  • NavigationBar(顶部栏)在目标 segue 处被“推断”?你可以为segue的源和目标添加故事板截图吗?
  • 您是否嵌入了导航控制器?初始视图控制器左侧的箭头应指向情节提要中的第一个控制器。!我想你正在这样做!

标签: iphone ios uiviewcontroller storyboard segue


【解决方案1】:

尝试使用 nil sender 而不是 self:

[self performSegueWithIdentifier:@"MySegue" sender:nil];

希望有效果

【讨论】:

    【解决方案2】:

    删除从 StaznostiViewController 到 StaznostiViewController 的转场。从 StaznostiViewController 对象(在视图下方的栏中)按住 Control 拖动到 StaznostiViewController,而不是从 StaznostiViewController 视图或从 StaznostiViewController tableview 原型单元格。选择推式。随意命名你的 segue。

    在您的代码中,在您为动态按钮定义的目标操作方法中,您可以在此处调用 performSegueWithIdentifier 方法。

    另外,请确保在 StaznostViewController 的属性中,您将 Top Bar 的属性设置为 Inferred。

    【讨论】:

    • 这无济于事 :( 为了获得更好的图像,我有类似dl.dropboxusercontent.com/u/55944039/help.png 的东西,当我将按钮添加到“Staznosti 视图控制器”并控制拖动到“Staznosti 视图控制器”时,一切正常。 ..但我有动态生成的按钮,所以我不能这样做,我必须手动完成
    • 这应该是选择的答案。
    【解决方案3】:

    同样的事情发生在我身上。我从情节提要中创建了一个“Push”segue,并从代码中调用它。然后它丢失了导航栏上的导航项。当我将 segue 更改为“Modal”时,目标视图的导航项正确显示。 .

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-14
      相关资源
      最近更新 更多