2011-05-13 80 views
6

我正在更改我的tableviews contentInset,以便當用戶滾動超出表格的上限時,tableview被嵌入以顯示隱藏在tableView上方的UISearchBar。設置UITableView contentInset也會插入節標題視圖

除了節標題視圖,一切正常。向下滾動時,結合的sectionHeaderView的頂部是插圖從屏幕作爲我的tableview插圖的頂部的距離相同,這裏是它在起始位置:

Header view in correct position

在上述圖像的sectionheader視圖是設置爲正確的位置,並且已經將tableview插入設置爲顯示搜索字段。

enter image description here

您可以在綁定的headerview的頂部設置,因爲43像素的tableview插圖,在那裏,它應該堅持在屏幕的上方隱藏「相關」的低本次截圖中看到細胞並在釋放時反彈回來。

我想我需要以某種方式補償的插圖,我只是不知道如何..

+0

我面對完全一樣的問題(儘管它不是一個隱藏搜索欄),並希望能找到答案 – romrom 2011-06-23 20:07:04

回答

6

我假設你想要的是一個搜索欄就像在郵件應用程序;列表最頂部的搜索字段默認情況下不可見?

解決的辦法是不使用contentInset,而是:

  1. 設置一個UISearchBar作爲tableviews tableHeaderView
  2. 另外添加一個UISearchDisplayController到表視圖控制器。
  3. 默認情況下,將contentOffset設置爲44點,隱藏搜索欄。

蘋果具有很好的示例應用程序爲起點,在這裏:http://developer.apple.com/library/ios/#samplecode/TableSearch/Introduction/Intro.html

+0

啊,是的當然,我很想知道這個 – Alex 2011-05-16 08:47:09

+4

這不是一個解決方案,這是一個解決方法。有幾種情況下你想使用contentInset,這會導致很多問題。要解決這個問題,以下是一個更好的解決方案:http://b2cloud.com.au/how-to-guides/uitableview-section-header-positions – strange 2014-03-03 23:47:53

+0

@strange您應該發佈一個新的頂級答案,描述這種技術,因爲對於許多人來說,這是一個有效的答案,試圖找出如何做到這一點。 – erikprice 2017-10-23 12:33:11

相關問題