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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值