2

我有一個有很多行和很多段(超過500個段)的UITableView。 有很多行並不是很糟糕,因爲只有可見行使用dequeueReusableCellWithIdentifier方法加載。 問題是,每當我執行[tableView reloadData]時,所有節標題都會被加載。如何像加載單元格一樣動態加載段頭

有沒有一種方法可以像使用行一樣使用出隊節標題?

如果沒有,只有兩個選擇我能想到的是:

  1. 處理節頭隊列我自己。
  2. 使部分標題爲自定義單元格並管理部分單元格映射我自己。

這兩個解決方案都非常複雜,因爲我使用NSFetchedResultsController。

回答

0

幸運的是,我的接受率 - 這個問題在iOS6中解決: UITableView的dequeueReusableHeaderFooterViewWithIdentifier方法。

0

如果您確定每次*都加載了所有節標題,則表示這是系統行爲。

使用NSFetchedResultsController會如此複雜?如果真的如此,也許你應該編寫自己的UITableViewDelegate/DataSource以獲得更大的靈活性。

*即,這

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section 

稱爲X次,當你發送[的tableView reloadData]消息。

+0

這並不能真正回答我的問題。這個「系統行爲」正是我需要解決的問題。我只想加載可見的部分,viewForHeaderInSection將所有部分加載在一起。 – adamsiton