如果想去掉cell 中 某个footview 或 headview 不随着tableview 一起滚定,那么我就就可以重写这个footview 或headview 的y 坐标
方法如下 重写footview
#import <UIKit/UIKit.h>
@interface RRPSectionFootView : UIView
@property NSUInteger section;
@property (nonatomic, weak) UITableView *tableView;
@end
#import "RRPSectionFootView.h"
@implementation RRPSectionFootView
- (void)setFrame:(CGRect)frame{
CGRect sectionRect = [self.tableView rectForFooterInSection:self.section]; // 重写MinY的坐标 如何想重写head rectForHeaderInSection 就用这个函数替换上面的函数
CGRect newFrame = CGRectMake(CGRectGetMinX(frame), CGRectGetMinY(sectionRect), CGRectGetWidth(frame), CGRectGetHeight(frame));
[super setFrame:newFrame];
}
@end
去掉说有headview 的粘合性可以用下面方法
#pragma mark- 去掉tableview headview 黏性
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView == self.tableView)
{
CGFloat sectionHeaderHeight = 10;
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);
}
}
}