手动segue时导航栏不可见

时间:2013-09-22 11:26:45

标签: iphone ios uiviewcontroller storyboard segue

我的应用中的segues有点问题。我正在尝试手动PUSH segue。但目标控制器上看不到导航项/控制器/栏。当我使用按钮和segue与该按钮来定位视图控制器时,导航栏IS可见:/

我的代码很简单:

[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];

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

感谢您的帮助:))

3 个答案:

答案 0 :(得分:3)

删除从StaznostiViewController到StaznostViewController的segue。从StaznostiViewController对象(在视图下方的栏中)中控制拖动到StaznostViewController,而不是从StaznostiViewController视图或StaznostiViewController tableview原型单元格。选择推送样式。根据您的意愿命名您的segue。

在您的代码中,在为动态按钮定义的target-action方法中,您可以在此处调用performSegueWithIdentifier方法。

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

答案 1 :(得分:0)

尝试nil sender而不是self:

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

希望它有效

答案 2 :(得分:0)

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