UITableViewSection跟随滑动

这个有二种解决方法

1种是重写UIScrolView的代理方法,其中ViewSpace是sectionHeader的高度

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

CGFloat sectionHeaderHeight = ViewSpace;

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

scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);

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

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

}

}

2种方法是设置UITableView的风格设置为UITableViewStyleGrouped。

这种方法顶部会有些空白

解决方法

developTeachTableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, SCREENWIDTH, 0.01f)];

有些有一些分割线,我们可以自定义sectionView的高度和View

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;

- (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;  // custom view for header. will be adjusted to default or specified header height

- (nullable UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section;

上面四个是代理方法

_tableView.separatorColor=[UIColor clearColor];//不要分割线

IOS自带的分割线是距离左边有15的距离,如果不想要这个距离,可以设置

[_tableView setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 0)];

你可能感兴趣的:(UITableViewSection跟随滑动)