ios TableView那些事(二十 九)TbleviewController 粘合性

如果想去掉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);

        }

    }

}


你可能感兴趣的:(ios,UITableView)