添加导航到现有视图控制器/ segue

时间:2015-03-06 01:37:59

标签: ios objective-c

我在一个简单的层次结构中将几个ViewController与segue链接在一起。

在每一个中:

[self performSegueWithIdentifier:@"myController" sender:myVar];

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([segue.identifier isEqualToString:@"myController"]){
        MyController *controller = (MyController *)segue.destinationViewController;
        controller.myVar = sender;
    }
}

我正在寻找将顶部导航栏与后退按钮集成的最简单方法。我知道我可以在viewWillAppear中使用这样的东西:

   UINavigationBar *myNav = [[UINavigationBar alloc]initWithFrame:CGRectMake(0, 0, x, y)];
    [self.view addSubview:myNav];

但是在这种情况下,导航栏会隐藏视图的一部分(例如"位置:绝对"将在css中)。

我可以添加一个解决上述问题的导航控制器,但据我所知,这将使我的segue无用,我不想要。

1 个答案:

答案 0 :(得分:2)

这正是UINavigationController的用途。您的第一个视图控制器(称为根)嵌入在导航控制器中。然后将其他视图控制器推送到导航控制器上。

UINavigationController会自动管理顶部的导航栏,并为您创建后退按钮。

将视图控制器嵌入导航控制器后,您可以使用推送segues。

Push Segues