自动高度 - [tableView:heightForHeaderInSection:]

时间:2014-12-02 10:26:47

标签: ios xcode uitableview storyboard

tl,dr:我真的希望我可以在故事板中设置所有节标题的属性,包括其高度。我有办法做到吗?

我在CocoaTouch API中无法解决这个问题。

UITableViewDelegate包含一个名为-[tableView:heightForHeaderInSection:]的方法,该方法必须为节中的标题返回适当的高度。

我所知道的最佳实践建议将表示和逻辑分开。然而,UITableViewDelegate似乎混合了这两个概念:它处理交互(didSelect...)和表示的某些方面(heightForHeader...)。

此外,我经常在故事板中定义节标题,因此使故事板和(通常)视图控制器对节标题高度相互依赖。

有没有办法可以通用的方式找出高度,或者只是制作这种方法"自动"?我曾经得到节标题并返回它的高度,但是当有许多节标题时,它实际上是一个性能问题。

2 个答案:

答案 0 :(得分:0)

您应该在该tableView:heightForHeader方法中绘制一个任意标头,并返回该任意标头的高度以获得动态标头大小。这对我有用。希望它也适合你。

答案 1 :(得分:0)

今天早上意外地发现了它:)

  1. 在故事板中,选择tableview。
  2. 在检查员面板上(Xcode右侧),选择"测量"标签。
  3. 在该标签上,可能是第一部分," tableview"崩溃了。展开它
  4. 设置适当的标题标题高度
  5. 并删除-[tableView:heightForSectionHeader:] \ o /