1.表的样式尾UITableViewStyleGrouped时,怎样去掉头部和中间间隔(表尾)
_tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];
_tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];//设置一个最小值,但是不能为0
2.表的样式为UITableViewStylePlain时,怎样消除最后一个单元格的底部分割线
//解决方式为:添加一个tableFooterView
tableView.tableFooterView = [[UIView alloc]initWithFrame:];
tableView.tableFooterView.backgroundColor = MainBackGroundColor;
//不过添加后最底下会存在一条分割线,去除方法为:在
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
中判断是否为最后一个cell,然后设置
cell.separatorInset = UIEdgeInsetsMake(0, 0, 0,
[UIScreen mainScreen].bounds.size.width
);
}
3.表的样式为UITableViewStylePlain时,怎样取消自带的效果
1.有多段时 段头停留(自带效果)
2.没有中间的间距和头部间距(要想有的重写UITableViewCell \UITableViewHeaderFooterView里面的setFrame方法)
扩展:让段头不停留(取消粘性效果)
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat sectionHeaderHeight = 30;
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);
}
}