【问题标题】:Stick UITableView header view to top when creating header in storyboard在情节提要中创建标题时将 UITableView 标题视图置于顶部
【发布时间】:2014-07-06 00:06:51
【问题描述】:

我使用答案here 创建了一个表格视图标题。

我的问题是,以这种方式创建标题时,向下滚动时它不会“粘”在 UITableView 的顶部。如果我在 viewForHeader 内部的代码中创建我的标题,那么它确实会粘住。

如果我在情节提要中创建标题,如何在滚动时将其固定在顶部?另外 2 位提问者 herehere 提出了这个问题,但从未得到答案。

是的,我的 UITableView 已经是普通样式,没有分组。

【问题讨论】:

  • 将 headerView 连接到您的视图控制器并实现 scrollViewDidScroll: 方法。然后通过滚动视图偏移设置标题视图偏移的帧原点y。
  • 行为差异的原因是在 IB 中通过拖入视图创建表头会创建一个 tableHeaderView,而使用 viewForHeader 创建一个节表头。它们是两种不同的东西。
  • 虽然 Adam 在下面的回答有效,但 Apple 认可的方法是创建具有所需视图的 NIB 文件。什么皮塔饼。

标签: ios uitableview ios7 storyboard


【解决方案1】:

rdelmar 的评论帮助我理解了它不起作用的原因。以下是我在实践中解决问题的方法:

我不得不将情节提要中的标题视图向下拖动到第一响应者所在的位置。您会注意到您实际上不能将标题视图向下拖动到视图本身上,您必须将元素从文档大纲中向下拖动。

我还必须实现 viewForHeaderInSection(返回我创建的出口的标题视图)和 heightForHeaderInSection。

每次您想通过情节提要编辑视图时,都必须将其向上拖动以进行编辑,然后将其向下拖动以使其正常工作。

【讨论】:

  • 谢谢。我遇到了同样的情况,并且能够使用您的答案解决它。尽管您对编辑标题的解释不是很清楚。最好提一下,应该使用文档大纲视图来完成拖入和拖出。
  • 您发现的关键元素是如何将其保留在情节提要中,但在必要时能够对其进行编辑。多年来,我一直在与 Apple 存在错误问题 - 我们需要能够在 Storyboards 中拥有任意视图。
  • 如果您已经有部分标题 - 您会回复哪个数字部分?
  • @Adam Johns .... 它工作正常,但我有一个小问题......我把 searchview 放在 tableview 的 headerview 中......它一直粘在上面但是当我滚动 tableview比headerview高的上边从它的顶部稍微小一点时间,然后它达到它的实际高度?你能帮我解决这个问题吗??
  • 我也尝试过,但无济于事。我的仍然向上滚动。
【解决方案2】:

只需先拖动 tableview 单元格,然后再拖动上面标题的视图。然后,删除不需要的单元格。标头会记住它的位置。

【讨论】:

    猜你喜欢
    • 2017-02-09
    • 2015-02-19
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多