文章目录
我们都知道对UITableViewCell
的重用,但是却很少人知道,对UITableView
的header和footer,也是可以重用的。下面就来看看UITableView
的header和footer的重用例子:
1
| static NSString *headerIdentifier = @"tableViewHeaderIdentifier";
|
- 然后在
viewDidLoad
里面注册UITableViewHeaderFooterView
或者其子类:
1 2
| [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:cellIdentifier]; [self.tableView registerClass:[UITableViewHeaderFooterView class] forHeaderFooterViewReuseIdentifier:headerIdentifier];
|
- 接下来就在
UITableViewDelegate
的方法-tableView:viewForHeaderInSection:
或者-tableView:viewForFooterInSection:
里面用identifer来或者可重用的header或者footer:
1 2 3 4 5 6 7
| -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UITableViewHeaderFooterView *headerView = [tableView dequeueReusableHeaderFooterViewWithIdentifier:headerIdentifier]; headerView.textLabel.text = self.yearArray[section]; headerView.contentView.backgroundColor = [UIColor colorWithRed:1 green:0 blue:0 alpha:0.3]; headerView.detailTextLabel.text = @"detailTextLabel"; return headerView; }
|
上面的例子用的是类UITableViewHeaderFooterView
本身,我们可以通过继承UITableViewHeaderFooterView
来达到自定义UITableView
的header和footer的目的。