文章目录
tableView的上方有一个自动滚动的scrollView,通过定时器来实现的。当托拽的时候会停止自动滚动。也可以手动进行滑动。
HeaderView
创建继承自UIView的HeaderView类,创建一个UIScrollView的属性,还要遵守UIScrollViewDelegate的协议。工厂方法实例化对象。
//HeaderView.h
#import<UIKit/UIKit.h>
@interface HeaderView:UIView<UIScrollViewDelegate>
@property (nonatomic,strong)UIScrollView *scrollView;
+(instancetype)headerView;
在HeaderView.m里完成scrollView和HeaderView本身的初始化。
开启scrollView的分页效果:
[headerView.scrollView setPagingEnabled:YES];
横向滚动条的显示,不让它显示
[headerView.scrollView setShowsHorizontalScrollIndicator:NO];
代理设置成headerView。
当视图即将加入父视图时调用:willMoveToSuperview,完成scrollView和HeaderView的frame的设置。
//HeaderView.m
#import "HeaderView.h"
@implementation HeaderView
+(instancetype)headerView
{
HeaderView *headerView=[[self alloc] init];
[headerView setScrollView:[[UIScrollView alloc]init]];
[headerView.scrollView setPagingEnabled:YES];
[headerView.scrollView setShowsHorizontalScrollIndicator:NO];
[headerView.scrollView setDelegate:headerView];
[headerView addSubview:headerView.scrollView];
return headerView;
}
-(void)willMoveToSuperview:(UIView*)newSuperview{
CGFloat width=CGRectGetWidth(newSuperview.bounds);
CGFloat height=180;
[self setFrame:CGRectMake(0,0,width,height)];
[self.scrollView setFrame:self.bounds];
[self.scrollView setContentSize:CGSizeMake(3*width,height)];
}