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

如果想去掉cell 中 某个footview 或 headview 不随着tableview 一起滚定,那么我就就可以重写这个footview 或headview 的y 坐标

方法如下 重写footview

 

#import <UIKit/UIKit.h>

 

@interface RRPSectionFootView :UIView

@property NSUInteger section;

@property (nonatomic,weakUITableView *tableView;

@end

 

 

 

#import "RRPSectionFootView.h"

 

@implementation RRPSectionFootView

 

- (void)setFrame:(CGRect)frame{

 

    CGRect sectionRect = [self.tableViewrectForFooterInSection: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);

        } elseif (scrollView.contentOffset.y>=sectionHeaderHeight) {

            scrollView.contentInset =UIEdgeInsetsMake(-sectionHeaderHeight, 0,0, 0);

        }

    }

}

http://blog.csdn.net/lengshengren/article/details/44237929

posted on 2017-03-17 18:54  NSSong  阅读(112)  评论(0编辑  收藏  举报