【问题标题】:Setting UITableView contentInset also insets section header view设置 UITableView contentInset 还插入部分标题视图
【发布时间】:2011-08-25 00:32:14
【问题描述】:

我正在更改我的 tableviews contentInset,以便当用户滚动超出表格的顶部边界时,tableview 被插入以显示隐藏在 tableView 上方的 UISearchBar。

除了部分标题视图之外,一切都很好。向下滚动时,sectionHeaderView 的顶部边界与屏幕顶部的插入距离与我的 tableview 插入的距离相同,这里是起始位置:

在上图中,sectionheader 视图设置为正确的位置,tableview inset 已设置为显示搜索字段。

您可以在第二个屏幕截图中看到,由于 43 像素的 tableview 插图,headerview 的顶部边界设置得较低,因为它应该贴在屏幕顶部隐藏“相关”单元格并在释放时弹回.

我想我需要以某种方式偏移插图,我只是不确定如何..

【问题讨论】:

  • 我面临着完全相同的问题(虽然它不是为了隐藏搜索栏)并且很想找到答案

标签: iphone objective-c uitableview


【解决方案1】:

我假设您想要的是邮件应用程序中的搜索字段;默认情况下不可见的列表顶部的搜索字段?

解决办法不是使用contentInset,而是:

  1. UISearchBar 设置为表视图tableHeaderView
  2. 还将UISearchDisplayController 添加到表视图控制器。
  3. 默认情况下将contentOffset 设置为向下 44 点,以隐藏搜索栏。

Apple 有一个很好的示例应用程序作为起点:http://developer.apple.com/library/ios/#samplecode/TableSearch/Introduction/Intro.html

【讨论】:

  • 这不是解决方案,而是解决方法。在某些情况下,您希望使用 contentInset,这会导致很多问题。要解决此问题,以下是更好的解决方案:b2cloud.com.au/how-to-guides/…
  • @strange 您应该发布一个新的顶级答案来描述这种技术,因为对于许多试图弄清楚如何做到这一点的人来说,这是一个有效的答案。
猜你喜欢
  • 2015-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-14
相关资源
最近更新 更多