iOS UITableView 吸顶的HeaerView 自定义样式与切换

Hi,

本文主要讲的是iOS中,UITableView 如何找到吸顶的HeaerView,并进行自定义UI。

预期效果如下所示:

iOS UITableView 吸顶的HeaerView 自定义样式与切换_第1张图片

关键点在于找到吸顶的HeaderView是什么时机切换的,旧的HeaderView和新的Headerview是哪个!!

写了一个UITableView的类别 "UITableView+TopSectionHeader.h",已经放到了GitHub上,https://www.github.com/LONGDDSF/CWKit。

主要代码如下所示:

"UITableView+TopSectionHeader.h"中

/* 基于UITableView有多个section情景, 滑动时,引起吸顶的section headerView切换, 将此时旧的、新的top section headerview找到并回掉出去 如果你未自定义headerview,回调的是系统默认的UITableViewHeaderFooterView *view */#import//definition a callBack

typedef void(^TBSectionHeaderBlock)(UIView *headerView);

@interface UITableView (TopSectionHeader)

// top section heaerview变化时,旧的top section Headerview

@property (copy, nonatomic) TBSectionHeaderBlock headerViewChagedFrom;

//top section heaerview变化时,新的top section Headerview

@property (copy, nonatomic) TBSectionHeaderBlock headerViewChagedTo;

//需要实现tableview的delegate 方法: - (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section,并在其中调用如下方法

- (void)ts_willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section;

//需要实现tableview的delegate 方法 : - (void)tableView:(UITableView *)tableView didEndDisplayingHeaderView:(UIView *)view forSection:(NSInteger)section,并在其中调用如下方法

- (void)ts_didEndDisplayingHeaderView:(UIView *)view forSection:(NSInteger)section;

@end

"UITableView+TopSectionHeader.m"中:

iOS UITableView 吸顶的HeaerView 自定义样式与切换_第2张图片
iOS UITableView 吸顶的HeaerView 自定义样式与切换_第3张图片

你可能感兴趣的:(iOS UITableView 吸顶的HeaerView 自定义样式与切换)