我有一个与使用navigationcontrollers实现tabbar有关的小问题,当我在tabbarcontroller之前有两个视图时,它也使用了navigationcontroller。 这是我在StoryBoard中的设置
http://i.stack.imgur.com/8P4Zw.png
http://i.stack.imgur.com/ei3xa.png
但这并不是我想要的,因为当我进入标签栏屏幕时,我得到两个导航栏(图片编号2)。我知道我可以删除标签栏中的导航控制器或将segue更改为模态,但是如果我这样做,我就无法在每个标签栏视图中添加Individualuel UIBarbuttons或设置个性化导航栏标题。我还想在应用程序中使用push segue,因为它是一种“一步一步”的应用程序。我的问题是:当我进入标签栏时,如何消除双导航栏,但是仍然能够为与标签相关的每个视图设置标题并继续使用push segue和navigationcontroller? 我希望你理解我的问题。
答案 0 :(得分:1)
您可以为每个视图控制器设置单独的按钮。抓取标签栏项并将其拖动到所需视图控制器的导航栏。您还可以设置每个视图控制器的单个标题。就像你说的那样,你没有理由在标签栏控制器之后添加第二和第三个导航控制器。
答案 1 :(得分:0)
您可以在故事板中以编程方式设置按钮,并且在视图控制器的不同阶段它们可以不同。因此,您应该删除第二个和第三个导航控制器,并将所需的按钮拖放到您需要的位置,和/或在必要时以编程方式处理它。
您可以通过编程方式执行的操作的一个示例:
UIBarButtonItem *yourButton = [[UIBarButtonItem alloc] initWithTitle:@"yourTitle" style:UIBarButtonItemStylePlain target:self action:@selector(yourSelector)];
self.navigationItem.leftBarButtonItem = buttonSegueBackToAccueil;
这将为您所在的控制器创建一个UIBarButtonItem,并将其作为导航控制器栏的左按钮。点击后它将运行方法“yourSelector”。