【问题标题】:iPhone make toolbar visible in UITableViewiPhone使工具栏在UITableView中可见
【发布时间】:2011-10-09 07:45:26
【问题描述】:

我有一个 UITableView 有一个 UIView 的子视图,我在 UITableView 顶部添加了一个工具栏,所以它应该如下所示:

但是当我实际运行它时,它看起来像这样:

所以由于某种原因 UIToolBar 没有出现。真不知道为什么,有大神能看出来吗?提前致谢。

编辑:我已经更改了建议的模拟指标,但它仍然没有显示:

EDIT2:这是 Raixer 要求的对象列表。

【问题讨论】:

  • 你能在你的 Interface Builder 中显示对象列表吗?
  • 如何在界面生成器中列出对象?
  • 拖动左栏使其展开并显示列表而不是图标。这样您就可以看到视图的层次结构。
  • 好的,我已经更新了帖子以包含对象列表。
  • 对不起,我刚醒来,但我的答案就在下面:)

标签: iphone objective-c ios xcode interface-builder


【解决方案1】:

好的。我的应用中有类似的设置,所以我会告诉你我做了什么。

我在每个选项卡中设置了一个带有导航控制器的选项卡栏控制器(这会自动为我提供导航栏,这就是我使用它的原因)。如果您注意到第一个选项卡上的视图是从另一个笔尖加载的(这就是我假设您正在做的事情)。为此,我将视图的类更改为我自己的视图控制器,然后将 NIB 文件的名称设置为加载到 Inspector 中,如下所示:


(来源:minus.com

然后在我的另一个 nib 文件中,我只有这个:

我希望这会有所帮助。

【讨论】:

  • 我这样做了,只是我没有导航控制器。我试图添加一个导航控制器,但它不允许我将它拖到收藏夹视图中(带有表格视图的那个)。它可以让我拖动导航控制器并将其添加到任何其他视图,但不是那个。
  • 实际上经过一番折腾之后,它允许我添加它。谢谢:)
  • 我还有一个问题,我添加了一个 UIBarButtonItem,但我不知道如何定义它的操作。当我尝试 Ctrl 拖动它时,它不允许我设置 IBAction 或任何东西。
  • 如果您希望 TableView 处理来自 UIBarButtonItem 的操作,您必须在 TableViewController 中声明一个 IBAction。然后 CTRL+从它拖到 ViewController 像这样link
【解决方案2】:

那是因为你配置你的 nib 文件时没有计算 Tab 栏的高度。

工具栏的高度为 49 像素。因此,当视图出现时,您的所有元素都会向上移动 49 像素。

您应该到 IB,打开您的视图,转到 Attributes Inspector,然后在模拟指标中为 Bottom Bar 选择 Tab bar。

【讨论】:

  • 我已经完成了,但它仍然没有显示工具栏,我已经用另一个屏幕截图编辑了我的帖子。
【解决方案3】:

我怀疑你会用这种方法成功。 UITableViewController 对向其 UITableView 添加子视图非常挑剔。但是,您可以让您的 UITableView 由标准 UIViewController 处理(只需让 IB 指向从 UIViewController 继承的自定义类)。将表格视图作为子视图添加到控制器的视图中,并将工具栏添加到外部视图中。 然后你应该能够添加子视图。 UITableViewController 为您提供一些便利和功能。如果你可以没有, UIViewController 没有缺点。如果不能,则必须自己实现。

获取工具栏的另一种方法:将您的表格放入UINavigationController。那个带有一个工具栏(在顶部)。

【讨论】:

  • 我尝试了第二种选择(第一种很难理解)但没有奏效。我对第一种选择有评论:视图控制器是一个 UIViewController,它继承了表的东西()。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 1970-01-01
  • 2013-12-17
相关资源
最近更新 更多