我在一个简单的层次结构中将几个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无用,我不想要。
答案 0 :(得分:2)
这正是UINavigationController
的用途。您的第一个视图控制器(称为根)嵌入在导航控制器中。然后将其他视图控制器推送到导航控制器上。
UINavigationController会自动管理顶部的导航栏,并为您创建后退按钮。
将视图控制器嵌入导航控制器后,您可以使用推送segues。