2012-08-25 72 views
0

我想只有最上面的單元格的部分標題(對於UITableView),表格頂部的一種標題,顯示關於最上面的單元格的一些附加信息。只有一個部分標題

是不是有可能?如果沒有(因爲我仔細閱讀了所有的文檔,我猜想)你有任何想法如何複製這種行爲?

回答

1

您需要創建自己的視圖以用作標題。將您的自定義標題視圖設置爲表視圖的同級並定位它以使其位於屏幕上的表視圖之上是最簡單的。

由於UITableViewUIScrollView的子類,您的表視圖委託也是滾動視圖委託並接收UIScrollViewDelegate消息。要實現此方法:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 

您的每一個委託收到該消息時,您希望它看起來在該表視圖行表格視圖(使用[tableView indexPathForRowAtPoint:tableView.contentOffset])的頂部和更新的內容,您自定義標題視圖。

+0

indexPathForRowAtPoint:tableView.contentOffset我缺少這個API。謝謝 :) – Luka

0

閱讀UITableView的Apple文檔。您正在查找的屬性是tableHeaderView。

+0

它不會粘在最上面,也不會鏈接到最上面的單元格 – Luka

0

UITableViewController這很難(並非不可能),因爲它強制tableView成爲根視圖。

如果您實施自己的控制器,請從UIViewController繼承而不是UITableViewController

您必須採用數據源和委託協議,並且適當地實施這些方法,但您的根視圖具有普通視圖。然後,您可以在任何位置和尺寸的任意位置添加UITableView,並在其周圍放置任何物品。

唯一真正的限制是您在IB中構建的靜態表視圖。但是,在這種情況下,您可以實現視圖控制器控制,並將您的表視圖控制器添加到另一個控制器中,併爲其指定一個特定的視圖。

第一個選項非常簡單,但第二個選項是高級技巧,您需要了解視圖控制器的控制才能正確執行。

相關問題