https://github.com/dbsGen/SlimeRefresh
1、引入头文件#import "SRRefreshView.h"
2、添加代理<UIScrollViewDelegate,SRRefreshDelegate>
3、实例化SRRefreshView
SRRefreshView *_slimeRefreshView=[[SRRefreshView alloc]init];
_slimeRefreshView.delegate=self;
_slimeRefreshView.upInset=44;
_slimeRefreshView.slimeMissWhenGoingBack=YES;
_slimeRefreshView.slime.bodyColor=[UIColor blackColor];
_slimeRefreshView.slime.skinColor=[UIColor whiteColor];
_slimeRefreshView.slime.lineWith=1;
_slimeRefreshView.slime.shadowBlur=4;
_slimeRefreshView.slime.shadowColor=[UIColor blackColor];
[_tableView addSubview:_slimeRefreshView];
4、写代理
#pragma mark-UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGFloat yOffset = scrollView.contentOffset.y;
if (yOffset < 0) {
CGFloat ImageWidth = APP_WIDTH;
CGFloat factor = ((ABS(yOffset)+205)*ImageWidth)/205;
CGRect f = CGRectMake(-(factor-ImageWidth)/2, 0, factor, 205+ABS(yOffset));
_bgImgView.frame = f;
NSLog(@"下拉contentOffset.y小于0");
} else {
CGRect f = _bgImgView.frame;
f.origin.y = -yOffset;
_bgImgView.frame = f;
NSLog(@"上拉contentOffset.y大于0");
}
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
[_slimeRefreshView scrollViewDidEndDraging];
}
#pragma mark - slimeRefresh delegate
- (void)slimeRefreshStartRefresh:(SRRefreshView *)refreshView
{
// [self requestBasePersonalInfo:YES];
}
注意事项:
UIImageView *_bgImgView=[LGImageView CreateLGImageView:CGRectMake(0,0,APP_WIDTH,205)
imageName:@"myBgImg"
interactionEnabled:YES];
[self.view addSubview:_bgImgView];
UIView *_headerView=[LGView CreateLGView:CGRectMake(0,0,APP_WIDTH,205+USER_HEADER_IMAGEVIEW_SIZE/2)
WithBgColor:[UIColor clearColor]
withCornerRadius:0
withBorderWidth:0
withBorderColor:nil];
_tableView.tableHeaderView=_headerView;
{
UIView *tempView = [[UIView alloc] initWithFrame:CGRectMake(0, 205, APP_WIDTH, 40)];
tempView.backgroundColor = [UIColor whiteColor];
[_headerView addSubview:tempView];
CGRect frame = _headerView.frame;
frame.size.height = CGRectGetMaxY(tempView.frame);
_headerView.frame = frame;
}