iOS开发过程中,经常会需要在tableview的section头部或尾部添加view,我们希望这些view 能够跟随tableview一起滚动,但常常会出现悬浮情况,类似黏性。下面提供几种解决方法:
1.最简单的方法,就是将UIView设置为整个tableView的headerView或者footerView而不是某个section的headerView或footerView。
2.将tableView的style设置为UITableViewStyleGrouped,例如在controller的.m中实现:(MemberCenterViewController是自己新建的当前类的名称)
- (MemberCenterViewController *)init {
self = [super initWithStyle:UITableViewStyleGrouped];
return self;
}
3.第三种方法在前面两个方法都不能实现的情况下可以考虑使用。
- - (void)scrollViewDidScroll:(UIScrollView *)scrollView {
- CGFloat sectionHeaderHeight = 10; //这里是我的headerView和footerView的高度
- if (_tableView.contentOffset.y<=sectionHeaderHeight&&_tableView.contentOffset.y>=0) {
- _tableView.contentInset = UIEdgeInsetsMake(-_tableView.contentOffset.y, 0, 0, 0);
- } else if (_tableView.contentOffset.y>=sectionHeaderHeight) {
- _tableView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
- }
- }