IOS TableView組件七:自定義表頭

文章目錄


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

demo

在這裏插入圖片描述

demo

demo
demo2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章