2010-06-25 95 views
0

我正在使用NavController,但启用了底部的工具栏。我还添加了UIBarButtonItem,并在IB上显示。它basiclly看起来像NavigationController +工具栏

  • 导航控制器
    • 导航栏
    • 工具栏
    • 根视图控制器
      • 栏按钮项目
      • 导航项目

所以酒吧按钮被添加到根视图控制器下,并且我可以在工具栏所在的IB中看到它,但是当我运行它时,我可以看到ToolBar,但不是我称为Item1的项目它的文本!

帮助

回答

3

我总是发现用代码方式处理NavigationController的工具栏而不是在Interface Builder中处理这个问题更好。步骤是

  1. 告诉导航控制器显示工具栏[navController setToolbarHidden:NO animated:YES]。听起来像你已经完成了这一步。
  2. 创建您的UIBarButtonItems。将您的ViewController设置为条形按钮的目标。
  3. 将您的酒吧按​​钮项目添加到NSArray。包含UIBarButtonSystemItemFlexibleSpaceUIBarButtonSystemItemFixedSpace类型的按钮项以将它们排列在工具栏上的所需位置。将该数组设置为工具栏的items属性。
  4. 编写处理用户点击这些按钮时会发生什么的方法。
  5. 确保根据需要释放您创建的所有这些对象。

无需子类化任何东西。随意问更多,如果这仍然不适合你。

+0

我意识到,工具栏是错误的东西,我想要的只是一个工具栏类型的界面,告诉用户“互联网没有连接”,并且正在使用按钮说,但现在这是一个坏主意!我还有一个关于UIViews的问题,以及如何使它像一个工具栏,所以它是一个通知。但你的权利与你的答案! – user370507 2010-06-26 09:12:23

+0

Newb问题..如果你以编程方式设计它,你会在Interface Builder中看到它吗? – Trip 2016-02-28 11:19:21

0

,如果你想在RootView控制器级别添加栏按钮项目您需要导航控制器 - >工具栏控制器 - > RootViewContoller。

否则,您已经为工具栏视图创建了子类,为此工具栏按钮设置IBOutlet,并为Button文本设置setButtonText方法。然后,可以将该子类包含在根视图控制器中,并调用setButtonText方法。