1. 程式人生 > >iOS開發-設定headerInsectionView不懸浮

iOS開發-設定headerInsectionView不懸浮

UITableView有兩個headerView:tableHeaderView、和headerInsectionView(組頭檢視)。 給tableView新增這兩個View:tableHeaderView是通過tableView.tableHeaderView = XXXView 的方式新增的,而headerInsectionView是通過- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section代理方法新增的。


UITableView的Style為Plain時,當tableView上移頂端的tableHeaderView會跟著滑出視窗,而headerInsectionView則會懸浮固定在視窗頂端不隨著滑動繼續上移。 UITableView的Style為Grouped時,當tableView上移頂端的tableHeaderView會跟著滑出視窗,而headerInsectionView則會隨著滑動繼續上移。 UITableView的Style為Plain時禁止headerInsectionView固定在頂端:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

    CGFloat sectionHeaderHeight = 50;

    if(scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) {

        scrollView.contentInset

 = UIEdgeInsetsMake(-scrollView.contentOffset.y00,0);

    } else if (scrollView.contentOffset.y>=sectionHeaderHeight) {

        scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 000);

    }

}