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)];
}