iOS開發tableView的tableHeaderView和代理中viewForHeaderInSection的區別
阿新 • • 發佈:2018-12-04
混淆的概念
- tableView.tableHeaderView
- - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
之前在tableView的使用中一直以為以上兩種方式建立headerView是一樣的,今天才發現tableHeaderView是整個tableView的headerView,代理建立的是每個section的headerView。
補充:
- 使用第二種代理也能實現整個tableView的headerView
- tableFootererView也是這樣的
使用區別
- tableHeaderView的高度是該檢視自己frame定義的高度,只有一個
- section的headerView高度是通過代理定義的,每個section都有
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
效果顯示
- 藍色的是tableHeaderView,深灰色的是代理建立的sectionHeaderView
- 綠色的是tableFooterView, 黃色的是代理建立的sectionFooterView