我的应用中的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];
即使我在故事板中设置了顶部栏(导航项目)
感谢您的帮助:))
答案 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”时,目标视图的导航项正确显示。