这个有二种解决方法
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)];