【问题标题】:NavigationController + Toolbar导航控制器 + 工具栏
【发布时间】:2010-06-26 13:08:32
【问题描述】:

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

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

因此,在根视图控制器下添加了条形按钮,我可以在工具栏所在的 IB 中看到它,但是当我运行它时,我可以看到工具栏,但看不到我称之为 Item1 作为其文本的项目!

帮助

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:

    出于这些原因,我一直发现以编程方式而不是在 Interface Builder 中处理 NavigationController 的工具栏是一个更好的主意。步骤是

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

    不需要子类化任何东西。如果这仍然不适合您,请随时询问更多信息。

    【讨论】:

    • 我意识到,工具栏是错误的,我想要的只是底部的工具栏类型界面告诉用户“互联网未连接”并使用按钮说,但那是现在坏主意!我有另一个关于 UIViews 的问题,以及如何使它像一个工具栏,所以它是一个通知。但你的答案是正确的!
    • 新手问题.. 如果您以编程方式设计它,您会在 Interface Builder 中看到它吗?
    【解决方案2】:

    如果要在RootView Controller级别添加Bar按钮Item,则需要Navigation Controller->ToolBar controller->RootViewContoller。

    否则,您有工具栏视图的子类,为工具栏按钮设置 IBOutlet 并为按钮文本执行 setButtonText 方法。然后你可以在你的根视图控制器中包含那个子类并调用 setButtonText 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多