故事板:在tabbar之前使用导航控制器查看

时间:2012-11-24 16:24:27

标签: iphone sdk

我有一个与使用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? 我希望你理解我的问题。

2 个答案:

答案 0 :(得分:1)

您可以为每个视图控制器设置单独的按钮。抓取标签栏项并将其拖动到所需视图控制器的导航栏。您还可以设置每个视图控制器的单个标题。就像你说的那样,你没有理由在标签栏控制器之后添加第二和第三个导航控制器。

答案 1 :(得分:0)

您可以在故事板中以编程方式设置按钮,并且在视图控制器的不同阶段它们可以不同。因此,您应该删除第二个和第三个导航控制器,并将所需的按钮拖放到您需要的位置,和/或在必要时以编程方式处理它。

您可以通过编程方式执行的操作的一个示例:

    UIBarButtonItem *yourButton = [[UIBarButtonItem alloc] initWithTitle:@"yourTitle" style:UIBarButtonItemStylePlain target:self action:@selector(yourSelector)];
self.navigationItem.leftBarButtonItem = buttonSegueBackToAccueil;

这将为您所在的控制器创建一个UIBarButtonItem,并将其作为导航控制器栏的左按钮。点击后它将运行方法“yourSelector”。